Si pegue el script equivocado porque tengo localhost y carpeta original. Falto sincronizar los archivos con Dreamweaver. Pero lo tengo asi (como dijo webankenovi):
Código PHP:
if( $result ) {
$_SESSION['token'] = $token;
}
Estar consultando la base de datos para validar al usuario cada vez que uno quiera ingresar al web, hace una diferencia significable en la velocidad de respuesta? o esto es solamente recomendable para altos niveles de usuarios?
Tengo otro script sin usar token y estaba pensando en que seria mas rapido, pero obviamente menos seguro, este es:
Código PHP:
//con esta funcion devuelvo la session 'user_id' si es que fue seteada previamente para seguir dando permisos.
function logged_in () {
return isset($_SESSION['connection']);
}
//con esta funcion ejecuto un query para ver si el usuario existe, si existe devuelvo el user_id
function login_user ($email, $password) {
global $dbc;
$query= "select count(email) as user, user_id from users where email='$email'and password='$password';";
$result= mysqli_query($dbc, $query);
$row = mysqli_fetch_array($result);
if( $row['user']==1) { return sha1($row['user_id']);} else { return false; }
}
En mi login.php :
Código PHP:
<?php
session_start();
include('func_users.php');
if (isset($_POST['email']) && isset($_POST['password'])) {
$email = mysqli_real_escape_string($dbc, trim($_POST['email']));
$password = trim($_POST['password']);
if($login=login_user ($email,$password)) {
$_SESSION['connection']=$login;
header('Location: index.php');
exit();
} else {
header('Location: index.php');
exit();
}
}
?>