Foros del Web » Programando para Internet » PHP »

No muestra el Valor de $_SESSION

Estas en el tema de No muestra el Valor de $_SESSION en el foro de PHP en Foros del Web. Hola hermanos del PHP, tengo un gran problema estoy manejando sesiones y todo va bien, solo lo que al intentar mostrar el valor de $_SESSION['user']; ...
  #1 (permalink)  
Antiguo 16/06/2011, 16:17
 
Fecha de Ingreso: abril-2009
Mensajes: 15
Antigüedad: 15 años, 7 meses
Puntos: 0
No muestra el Valor de $_SESSION

Hola hermanos del PHP, tengo un gran problema estoy manejando sesiones y todo va bien, solo lo que al intentar mostrar el valor de $_SESSION['user']; no me muestra nada, alguien me puede ayudar, gracias.

este es mi codigo:

aqui asigno el valor de session

$_SESSION["user"]=$_POST['login'];

y asi intento mostrar el valor de session:

echo "Hola".$_SESSION['user'];

y me muestra el siguiente error:

Notice: Undefined index: user in D:\Sitios\CursoDW\Site\panel.php on line 87

si le agrego el isset de esta manera:

echo "Hola".(isset($_SESSION['user']));

no me tira el error, pero simplemente no me muestra nada

y si le agrego el signo de admiracion de la siguiente forma:

echo "Hola".(!isset($_SESSION['user']));

me muestra:

HOLA 1

que esta mal ayuda!!!
  #2 (permalink)  
Antiguo 16/06/2011, 16:20
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 15 años, 3 meses
Puntos: 41
Respuesta: No muestra el Valor de $_SESSION

al principio de tu codigo necesitas iniciar la session con session_start(); no se te olvida ese detalle?
  #3 (permalink)  
Antiguo 16/06/2011, 16:28
 
Fecha de Ingreso: abril-2009
Mensajes: 15
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: No muestra el Valor de $_SESSION

si es correcto mi xtimed asi lo he echo pero no me muestra el valor de session aun, gracias por contestar hermano te lo agradesco, pero no puedo avanzar, no sera algo de configuracion?
  #4 (permalink)  
Antiguo 16/06/2011, 16:31
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 15 años, 3 meses
Puntos: 41
Respuesta: No muestra el Valor de $_SESSION

Imprime esto: echo $_POST['login']; y dime si te muestra algo
  #5 (permalink)  
Antiguo 16/06/2011, 16:40
 
Fecha de Ingreso: abril-2009
Mensajes: 15
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: No muestra el Valor de $_SESSION

me muestra
Notice: Undefined index: login in D:\Sitios\CursoDW\Site\panel.php on line 88

te comento que en la pagina que intento mostrar en nombre del usuario logueado no presede del formulario de datos, sino de la pagina que logea y redirige a un panel, es decir en una toma los valores del formulario y en una segunda verifica los valores y en la tercera que es el panel es donde no me me imprime el valor de $_SESSION["user"].
  #6 (permalink)  
Antiguo 16/06/2011, 16:49
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 15 años, 3 meses
Puntos: 41
Respuesta: No muestra el Valor de $_SESSION

Bueno, para empezar, tenemos claro que en todas partes donde utilices sesiones, primero se inicializa la session, eso esta bien, segundo, al parecer no te entendí bien, pero si quieres realizar esto: $_SESSION['user'] = $_POST['login']; en la página 3 siendo que en la página 1 es donde envias los datos a la página 2, los datos no se conservan, tendrias que asignarle el valor a $_SESSION['user'] en la página 2 para poderla mostrar en la página 3
  #7 (permalink)  
Antiguo 16/06/2011, 17:07
 
Fecha de Ingreso: abril-2009
Mensajes: 15
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: No muestra el Valor de $_SESSION

si es correcto lo que me comentas, y asi lo hago en la pagina de logeo es donde asigno el valor a $_SESSION, y redirijo a panel, te pongo el codigo de las tres paginas ok, y gracias por tu ayuda de verdad.

estas es mi pagina de LOGEO.PHP

<htm>
<head>
<title></title>
</head>
<body>
<form method="post" action="verifica.php">
<input type="text" name="login">
<input type="password" name="pass">
<input type="submit" name="Enviar" id="Enviar" value="Entrar">
<input type="reset" name="button" id="button" value="Limpiar Datos">
</body>
</html>

La pagina VERIFICA.PHP es la siguiente:

<?php
session_start ();
?>
<?
require_once("connections/cnx.php");

//Preguntamos si el usuario existe en la base de datos
$sql="select LogerUser from usuarios
where
LogerUser='".$_POST["login"]."'";


$res=mysql_query($sql,$con);

if (mysql_num_rows($res) == 0)
{
echo "<script type='text/javascript'>
alert('El usuario ".$_POST["login"]." no existe en la base de datos');
window.location='logeo.php';
</script>";
}
else
{
$consulta="select * from usuarios
where
LogerUser='".$_POST["login"]."'
and
passUser='".$_POST["pass"]."' ";

$result=mysql_query($consulta,$con);

if (mysql_num_rows($result) == 0)
{
echo "<script type='text/javascript'>
alert('El usuario ".$_POST["login"]." y el pass ".$_POST["pass"]." ingresados no conciden');
window.location='logeo.php';
</script>";
}
else
{
//Ahora le damos acceso a nuestros contenidos restringidos
$_SESSION["user"]=$_POST[login];
header("Location: panel.php");
}
}

?>

hasta aca todo Bien, bueno y la pagina donde tira el error o no muestra nada es PANEL.PHP

<?php
session_start ();
?>
<?
//si la variable session tiene valor entonces mostrar contenido
if (!isset($_SESSION["user"]))
{
?>
<htm>
<head>
<title></title>
</head>
<body>
<?
echo "Hola".$_SESSION['user'];
?>
</div>
</div>
</body>
</html>
<?php
}else
{
echo "<script type='text/javascript'>
alert('Esta tratando de Entrar a una Pagina de Acceso restringido favor de Logearse');
window.location='logeo.php';
</script>";
}
?>

Gracias Nuevamente.....
  #8 (permalink)  
Antiguo 16/06/2011, 17:10
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 15 años, 3 meses
Puntos: 41
Respuesta: No muestra el Valor de $_SESSION

elimina esto de tus 2 ultimas páginas
?>
<?

Creo que ese debe ser el error, cierras y abres los tags y la segunda vez que lo abres no lo abres bien seria <?php en vez de <?
  #9 (permalink)  
Antiguo 16/06/2011, 17:45
 
Fecha de Ingreso: abril-2009
Mensajes: 15
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: No muestra el Valor de $_SESSION

siguel mandando error y ahora me manda el error de

Warning: session_start() [function.session-start]: open(\xampp\tmp\sess_lrrakpjsdagi5c1co9gongh0s5, O_RDWR) failed: No such file or directory (2) in D:\Sitios\CursoDW\Site\panel.php on line 2

Notice: Undefined index: user in D:\Sitios\CursoDW\Site\panel.php on line 83
  #10 (permalink)  
Antiguo 16/06/2011, 17:50
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 15 años, 3 meses
Puntos: 41
Respuesta: No muestra el Valor de $_SESSION

Otra cosa que vi, los primeros tags de html los tienes así <htm> serian <html> en la tercer página tienes abierto otro tag de php <? en vez de <?php
en la página 2 cambia esto
$_SESSION["user"]=$_POST[login];
por esto
$_SESSION["user"]=$_POST["login"];
  #11 (permalink)  
Antiguo 16/06/2011, 17:59
 
Fecha de Ingreso: abril-2009
Mensajes: 15
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: No muestra el Valor de $_SESSION

realizadas las correccion y me sigue mandando los errores:

Warning: session_start() [function.session-start]: open(\xampp\tmp\sess_lrrakpjsdagi5c1co9gongh0s5, O_RDWR) failed: No such file or directory (2) in D:\Sitios\CursoDW\Site\panel.php on line 2

Notice: Undefined index: user in D:\Sitios\CursoDW\Site\panel.php on line 83
Hola

en

session_start();

y

echo "Hola".$_SESSION['user'];

que sera...
  #12 (permalink)  
Antiguo 16/06/2011, 18:08
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 15 años, 3 meses
Puntos: 41
Respuesta: No muestra el Valor de $_SESSION

Bueno, realizé unas pruebas locales, en verifica.php solo tengo esto:
Código PHP:
<?php
session_start 
();
//Ahora le damos acceso a nuestros contenidos restringidos
$_SESSION["user"]=$_POST["login"];
header("Location: panel.php");
?>
En panel.php puse esto:
Código PHP:
<?php
session_start 
();
//si la variable session tiene valor entonces mostrar contenido
if (isset($_SESSION["user"]))
{
    
?>
    <html>
        <head>
            <title></title>
        </head>
        <body>
            <div>
            <?php
            
echo "Hola".$_SESSION["user"];
            
?>
            </div>
        </body>
    </html>
    <?php
}else
{
echo 
"<script type='text/javascript'>
    alert('Esta tratando de Entrar a una Pagina de Acceso restringido favor de Logearse');
    window.location='logeo.php';
    </script>"
;
}
?>
y logeo.php quedó igual, y si me funcionó, seria cuestion de saber si le estas enviando valores a la variable de session en la página 2 con la consulta que realizas a tu BD
  #13 (permalink)  
Antiguo 16/06/2011, 18:13
 
Fecha de Ingreso: abril-2009
Mensajes: 15
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: No muestra el Valor de $_SESSION

la consulta a la base de datos esta correcta y si le envia datos, de echo hize pruebas para pasar los valores recuperados de la base de datos y funciona muy bien el problema radica en $_SESSION, ya que inclusive como te comente al principio, entra a la pagina 3 con valor solo que no lo muestra y manda error
  #14 (permalink)  
Antiguo 16/06/2011, 18:16
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 15 años, 3 meses
Puntos: 41
Respuesta: No muestra el Valor de $_SESSION

Utiliza el codigo que te pasé y modifica la página 2 con los datos de tu consulta
  #15 (permalink)  
Antiguo 16/06/2011, 18:27
 
Fecha de Ingreso: abril-2009
Mensajes: 15
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: No muestra el Valor de $_SESSION

bien ahora me manda solo el error de session_start() y me despliega el mensaje del codigo de java que no se ha logeado y no tiene acceso..

creo entender que ahora no esta tomando el valor de $_SESSION, como si no tubiera valor.

esto nos va a matar creo.....
  #16 (permalink)  
Antiguo 16/06/2011, 18:32
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 15 años, 3 meses
Puntos: 41
Respuesta: No muestra el Valor de $_SESSION

Jejeje, verifica en el php.ini que session.auto_start este en 0, de ahí en fuera, se me ase muy raro que no te funcionen las sessiones, ya verificaste que esten habilitadas?
  #17 (permalink)  
Antiguo 16/06/2011, 18:38
 
Fecha de Ingreso: abril-2009
Mensajes: 15
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: No muestra el Valor de $_SESSION

como lo verifico xtimed, en phpinfo() o donde?
  #18 (permalink)  
Antiguo 16/06/2011, 18:43
 
Fecha de Ingreso: abril-2009
Mensajes: 15
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: No muestra el Valor de $_SESSION

estan en OFF local y master, como las modifico..
  #19 (permalink)  
Antiguo 16/06/2011, 18:51
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 15 años, 3 meses
Puntos: 41
Respuesta: No muestra el Valor de $_SESSION

Entonces estan bien, ese no es el problema, la verdad no se me ocurre otra cosa =S el error que muestras generalmente es por falta de session_start(); o al menos así me ha sucedido a mi
  #20 (permalink)  
Antiguo 16/06/2011, 19:08
 
Fecha de Ingreso: abril-2009
Mensajes: 15
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: No muestra el Valor de $_SESSION

modifique el archivo PHP.ini en session a 1 y ya despliega el contenido de $_SESSION y de paso le agrege una @ a session_start y ya no muestra el error de el hasta ahorita ya salio, haver si con estas modificaciones ya no manda otros errores, gracias xtimed, por tu tiempo y por ahora es todo estamos en contacto gracias de nueva cuenta bye. saludos desde Mexico Pue.
  #21 (permalink)  
Antiguo 16/06/2011, 19:09
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 15 años, 3 meses
Puntos: 41
Respuesta: No muestra el Valor de $_SESSION

Sale por nada, saludos desde Sonora México

Etiquetas: muestra, session
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 08:57.