Foros del Web » Programando para Internet » PHP »

como hacer session luego de un login?

Estas en el tema de como hacer session luego de un login? en el foro de PHP en Foros del Web. Hola, pues eso, como hago para crear una session luego de hacer un login y mantenerla durante la estadia en al web? este es mi ...
  #1 (permalink)  
Antiguo 01/09/2004, 17:50
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
como hacer session luego de un login?

Hola, pues eso, como hago para crear una session luego de hacer un login y mantenerla durante la estadia en al web?

este es mi login
Código PHP:
session_start();
include(
"conexion/conexion.php");
if(isset(
$_POST['Validar'])){
    
$user=$_POST['nombreUsuario'];
    
$pass=$_POST['passUsuario'];
    
$queryLogin=mysql_query("SELECT usuario,password FROM usuarios WHERE usuario='$user' AND password='$pass'",$con)or die(mysql_error());
    
$rowLogin=mysql_fetch_array($queryLogin);
    if(
$user==$rowLogin['usuario'] && $pass==$rowLogin['password']){
    
header("Location:panel.php");
}else{
    echo 
"Usuario o Password Incorrectos";
    
header("Location:login.php?error");
  }
  

Bueno inicio session como dicen los tutoriales, y he realizado muchas cosas mas como $_SESSION['usuario'] y nada me funciona..

alguien me aclara el meneo de las sessiones?
__________________
www.dataautos.com
  #2 (permalink)  
Antiguo 01/09/2004, 17:54
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
está bien tu script, pero lo que te falla es que no lo registras
Código PHP:
<?
    session_register
(); // esto te faltó
   
session_start(); 
  include(
"conexion/conexion.php"); 
  if(isset(
$_POST['Validar'])){ 
      
$user=$_POST['nombreUsuario']; 
      
$pass=$_POST['passUsuario']; 
 
$queryLogin=mysql_query("SELECT usuario,password FROM usuarios WHERE usuario='$user' AND password='$pass'",$con)or die(mysql_error()); 
      
$rowLogin=mysql_fetch_array($queryLogin); 
      if(
$user==$rowLogin['usuario'] && $pass==$rowLogin['password']){ 
     
$_SESSION['usuario']=$rowLogin['usuario']; // ya con esto conservas la sesión
      
header("Location:panel.php"); 
  
  }else{ 
      echo 
"Usuario o Password Incorrectos"
      
header("Location:login.php?error"); ?>
</font>

Última edición por lado2mx; 01/09/2004 a las 18:00
  #3 (permalink)  
Antiguo 01/09/2004, 18:24
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 9 meses
Puntos: 53
OK, tambien debes tomar en cuenta que panel.php este protegido, es decir, tienes que restringir el acceso, a los demas, para que solo el administrador por medio de un password, pueda accesar, entonces una forma de hacerlo seria, crear una variable de tipo $_SESSION, por ejemplo que se llame, identificado, y le asignas el valor "si"

$_SESSION['identificado']="si";

esta linea la pones antes de mandarlo al panel, antes del header("Location:log...");

y dentro del archivo panel.php validas si esta registrado, sino, sales del script, y le mandas un mensage de error. algo asi:

Código PHP:
          session_start();
          if(
$_SESSION['identificado']!="si"){
             echo 
"error, necesitas identificarte";
             exit();
          }
          
//Aqui programas todo lo demas 
  #4 (permalink)  
Antiguo 01/09/2004, 19:45
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
pues si stock, pero en la práctica puede funcionar tambien el $_SESSION['usuario'] como si fuera tu función, normalmente se usa, y da buenos resultados.
  #5 (permalink)  
Antiguo 01/09/2004, 19:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
lado2mx:
session_register(); // esto te faltó

Eso no es necesario si ya usas los arrays superglobales para trabajar las sesiones ($_SESSION) y session_start() para iniciar el uso de la sesión (o continuar una válida).


stock

El $_SESSION['identificado']!="si" no tiene mucho sentido crear una variable extra cuando en un ejemplo típico como este de gestión de usuarios puedes usar para esa validación de la existencia de tu sesión activa alguna de las otras variables que ya guardas en tu sesión para identificar en tu aplicación al usuario.

Un saludo,
  #6 (permalink)  
Antiguo 02/09/2004, 09:05
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
Gracias a todos , voy a probar
__________________
www.dataautos.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 23:15.