Ver Mensaje Individual
  #5 (permalink)  
Antiguo 26/05/2008, 12:56
marx-pola
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 9 meses
Puntos: 1
Respuesta: Autenticación de Usuarios - A ver si lo hice bien.

Cita:
Iniciado por krasburn Ver Mensaje
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(Locationindex.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.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.