Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Belem en 21 Abril 2008, 23:51 pm



Título: Variables de sesion
Publicado por: Belem en 21 Abril 2008, 23:51 pm
Buen dia a todos, resulta que tengo una especie de pagina en la que se debe de iniciar sesion, para mantener la sesion activa estoy tratando de usar variables de sesion, pero algo estoy haciendo mal por que no me rulan.

En la pagina donde se loguea el user (session.php) tengo:

Código:
// La variable $ la he definido a true si se encontro el user y pass del user
if ($q) {
setcookie("user",$uzer->userID,time()+3600);
setcookie("userFullName",$uzer->nombre,time()+3600);
setcookie("privilegio",$uzer->level,time()+3600);
session_start();
$_SESSION['user']= $uzer->userID;
// hasta aqui parece ir bien por que si pongo echo($_SESSION['user']); si me sale el nombre del user

header("location: admin.php");
} else {
                      bla bla bla
}


el problema radica en la pagina donde "ya se inicio la sesion", (admin.php) pues al referirme (segun yo) a la sesion creada me sale en blanco. Sin mensaje de error, sin aviso, sin nada, tan solo en blanco.

Código:
<?php
session_start();
echo("ssssssss ".$_SESSION['user']." bbbbbbbb");
?>

¿Que es lo que puede estar al??? digo, tomando en cuenta que soy nueva en esto ps ¿una manita no????

Desde ya gracias...


Título: Re: Variables de sesion
Publicado por: eLank0 en 22 Abril 2008, 00:02 am
Hola, ¿en session.php has inicializado session_start()?

Salu2


Título: Re: Variables de sesion
Publicado por: Belem en 22 Abril 2008, 00:25 am
Código:
setcookie("privilegio",$uzer->level,time()+3600);
session_start();
$_SESSION['user']= $uzer->userID;

Si lo inicialice...


Título: Re: Variables de sesion
Publicado por: jose2c en 22 Abril 2008, 03:22 am
Hola, creo que estas haciendo lo mismo dos veces, es decir, basta con que inicies la sesión y luego asignes valores a $_SESSION.

Intenta así:

session.php
Código:
<?php
session_start();
$_SESSION['user']=$uzer->userID;
$_SESSION['userFullName']=$uzer->nombre;
$_SESSION['privilegio']=$uzer->level;
header("location: admin.php");
?>

admin.php
Código:
<?php
session_start();
echo("ssssssss ".$_SESSION['user']." bbbbbbbb");
?>

Al llamar a la función session_start() no deben haber espacios antes de ella, igual pasa con la función header(), fíjate como las puse en el código de arriba con todo pegado a la izquierda.



Título: Re: Variables de sesion
Publicado por: Mr.Zeros0 en 19 Mayo 2008, 16:50 pm
Asegurate que la variable de session esta activa y tiene el lugar en la maquina donde guardarla.

php.ini


Título: Re: Variables de sesion
Publicado por: rog en 24 Mayo 2008, 06:43 am
tiente

print_r($_SESSION); para ver como hasta $_SESSION

rog


Título: Re: Variables de sesion
Publicado por: Hans el Topo en 24 Mayo 2008, 12:33 pm

Al llamar a la función session_start() no deben haber espacios antes de ella, igual pasa con la función header(), fíjate como las puse en el código de arriba con todo pegado a la izquierda.


no debe haber código de salida antes de ella, pudes porer las instrucciones que quieras delante


Título: Re: Variables de sesion
Publicado por: rog en 24 Mayo 2008, 14:49 pm
tambien ponete

error_reporting(E_ALL);

para mejor debugage

rog


Título: Re: Variables de sesion
Publicado por: H4RR13R en 25 Mayo 2008, 22:46 pm
session_start(); SIEMPRE tiene que estar en la linea numero 1, antes que nada


Título: Re: Variables de sesion
Publicado por: Hans el Topo en 26 Mayo 2008, 11:08 am
session_start(); SIEMPRE tiene que estar en la linea numero 1, antes que nada

como a he dicho no hace falta


Título: Re: Variables de sesion
Publicado por: H4RR13R en 9 Junio 2008, 17:10 pm
session_start(); SIEMPRE tiene que estar en la linea numero 1, antes que nada

como a he dicho no hace falta

lo he probado numerosas veces y solo me funciona estando en primera linea


Título: Re: Variables de sesion
Publicado por: alone-in-the-chat en 9 Junio 2008, 21:02 pm
Pues como dice Hans no es necesario , mientras no se envie ningun header (cabecera) al explorador antes de  llamar a session_start() , no tiene por que lanzar error.


Saludos¡¡¡