Foros del Web » Programando para Internet » PHP »

problema con variable de sesion

Estas en el tema de problema con variable de sesion en el foro de PHP en Foros del Web. hola amigos tengo este codigo que recorre la base de datos y me guarda los valores en las variables de session Código PHP: session_start (); ...
  #1 (permalink)  
Antiguo 12/05/2004, 21:38
Avatar de fmmeson  
Fecha de Ingreso: enero-2002
Ubicación: Tucuman
Mensajes: 401
Antigüedad: 15 años, 10 meses
Puntos: 2
Pregunta problema con variable de sesion

hola amigos tengo este codigo que recorre la base de datos y me guarda los valores en las variables de session
Código PHP:
session_start();
include(
"conexion.php");
$consulta mysql_query("SELECT usuarios.userid, usuarios.username, usuarios.password, usuarios.nivel_usuario, datospersonales.nombre,datospersonales.apellido,datospersonales.email FROM usuarios,datospersonales WHERE usuarios.username='$username' AND usuarios.password='$password' AND usuarios.userid=datospersonales.userid");
while(
$row mysql_fetch_array($consulta)){ 
    foreach( 
$row AS $key => $val ){ 
    $
$key stripslashes$val ); 
    }
    
// Registra las variables de la sesión
      
$_SESSION['userid'] = $userid
    $_SESSION
['username'] = $username
      
$_SESSION['nombre'] = $nombre;
      
$_SESSION['apellido'] = $apellido;
      
$_SESSION['email'] = $email;
      
$_SESSION['nivel_usuario'] = $nivel_usuario;

el problema que tengo es que guarda TODOS los valores en sus respectivas variables de session exepto:
Cita:
Código PHP:
$_SESSION['userid'] = $userid 
posiblemente sea por mi consulta......alguien sabe como hacerlo.........Desde ya muchas gracias
__________________
Lo que se hace por AMOR esta mas allá del BIEN y del MAL - Friedrich Nietzsche
http://www.hispanogeek.com.ar
Desarrollador IT -
  #2 (permalink)  
Antiguo 12/05/2004, 21:55
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
no te compliques con variables variables, foreach...
simplemente...

session_start();
include("conexion.php");
$consulta = mysql_query("SELECT usuarios.userid, usuarios.username, usuarios.password, usuarios.nivel_usuario, datospersonales.nombre,datospersonales.apellido,da tospersonales.email FROM usuarios,datospersonales WHERE usuarios.username='$username' AND usuarios.password='$password' AND usuarios.userid=datospersonales.userid");
if(mysql_num_rows($consulta)){
$row = mysql_fetch_object($consulta);
// Registra las variables de la sesión
$_SESSION['userid'] = $row->userid
$_SESSION['username'] = $row->username;
$_SESSION['nombre'] = $row->nombre;
$_SESSION['apellido'] = $row->apellido;
$_SESSION['email'] = $row->email;
$_SESSION['nivel_usuario'] = $row->nivel_usuario;
}

prefiero usar mysql_fetch_objecto por que siento que es mas práctico... el while no lo veo necesario, ya que solo un usuario tendrá ese registro....

saludos...
  #3 (permalink)  
Antiguo 12/05/2004, 23:17
Avatar de fmmeson  
Fecha de Ingreso: enero-2002
Ubicación: Tucuman
Mensajes: 401
Antigüedad: 15 años, 10 meses
Puntos: 2
hola sism82 pero creo que estas confundido:

para que utilizas mysql_num_rows() .............esta funcion se utiliza para saber el numero de filas que devuelve un resultado.
Cita:
prefiero usar mysql_fetch_objecto por que siento que es mas práctico... el while no lo veo necesario, ya que solo un usuario tendrá ese registro...
el while se utiliza para recorrer el arreglo..........en todo caso el codigo seria asi si no me equivoco
Código PHP:
$consulta mysql_query("SELECT usuarios.userid, usuarios.username, usuarios.password, usuarios.nivel_usuario, datospersonales.nombre,datospersonales.apellido,datospersonales.email FROM usuarios,datospersonales WHERE usuarios.username='$username' AND usuarios.password='$password' AND usuarios.userid=datospersonales.userid");
while(
$row mysql_fetch_object($consulta)){
// Registra las variables de la sesión
$_SESSION['userid'] = $row->userid;
$_SESSION['username'] = $row->username
$_SESSION['nombre'] = $row->nombre;
$_SESSION['apellido'] = $row->apellido;
$_SESSION['email'] = $row->email;
$_SESSION['nivel_usuario'] = $row->nivel_usuario;
}
mysql_free_result($consulta); 
de todos modos muchas gracias!!
__________________
Lo que se hace por AMOR esta mas allá del BIEN y del MAL - Friedrich Nietzsche
http://www.hispanogeek.com.ar
Desarrollador IT -
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:28.