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:
// 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.
<?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...
Hola, ¿en session.php has inicializado session_start()?
Salu2
setcookie("privilegio",$uzer->level,time()+3600);
session_start();
$_SESSION['user']= $uzer->userID;
Si lo inicialice...
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
<?php
session_start();
$_SESSION['user']=$uzer->userID;
$_SESSION['userFullName']=$uzer->nombre;
$_SESSION['privilegio']=$uzer->level;
header("location: admin.php");
?>
admin.php
<?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.
Asegurate que la variable de session esta activa y tiene el lugar en la maquina donde guardarla.
php.ini
tiente
print_r($_SESSION); para ver como hasta $_SESSION
rog
Cita de: jose2c en 22 Abril 2008, 03:22 AM
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
tambien ponete
error_reporting(E_ALL);
para mejor debugage
rog
session_start(); SIEMPRE tiene que estar en la linea numero 1, antes que nada
Cita de: H4RR13R en 25 Mayo 2008, 22:46 PM
session_start(); SIEMPRE tiene que estar en la linea numero 1, antes que nada
como a he dicho no hace falta
Cita de: Hans el Topo en 26 Mayo 2008, 11:08 AM
Cita de: H4RR13R en 25 Mayo 2008, 22:46 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
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¡¡¡