Cita:
Iniciado por krasburn
Para evitar que te entren a las paginas privadas puedes hacer uso de las variables de session.
En el momento en el que te autenticas haces esto:
Código PHP:
session_start();
$_SESSION['user'] = $usuario; //seria por ejemplo el login del usuario autenticado
Luego en cada una de tus pagina privadas tienes que hacer lo siguiente:
Código PHP:
session_start();
if ($_SESSION['user'] == "")
header(Location: index.php); //o a cualquier pagina que quieras
else
// si entra aqui significa que esta accediendo un usuario autenticado
Gracias otra vez. Me quedó por preguntarte algo... estas líneas que me has pasado, ¿van en autenticar.php? ¿Sería así?
Código PHP:
include('conectar.php');
if( ($_POST[nick] == ' ') or ($_POST[pass] == ' ') )
{
Header("Location:login.php");
}else{
//comprobamos en la db si existe ese nick con esa pass
$usuarios=mysql_query("SELECT * FROM usuarios WHERE nick_usuario='$_POST[nick]' and password_usuario='$_POST[pass]' ");
if($user_ok = mysql_fetch_array($usuarios))
{
session_register("usuario");
session_register("idusuario");
session_register("nivel");
session_start(); // ¿Esta línea va aquí?
$_SESSION['user'] = $usuario; // esta línea corresponde a lo que está abajo?
$_SESSION[usuario] = $user_ok["nick_usuario"];
$_SESSION[codusuario] = $user_ok["id_usuario"];
$_SESSION[nivel] = $user_ok["nivel_usuario"];
Header("Location: login.php");
}else{
echo 'Nick y pass incorrectos';
}
}
- ¿Está bien ubicado el session_start()?
- La linea que va en las páginas privadas, ¿la puedo llamar desde un include?
Gracias otra vez.