Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/05/2009, 04:22
Avatar de Dundee
Dundee
 
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
problemas con sesiones

Buenas ¿como andamos? , tengo un problemilla con las sesiones que no consigo resolver, el tema es que creo una variable de sesión pero luego la quiero mostrar con echo y está vacía, además quiero cambiar de página y que la sesión siga viva y dicha variable con el valor que le asigno en la primera página.
Nota:Previamente antes de postear aquí , hice un var_dump($_POST) para comprobar que llegaban correctamente los valores del form (que si llegan). Por si acaso aclarar también que en la página 1 lo que hace es comprobar que el user está registrado y sino no le deja entrar, habiendo hecho esta comprobación y estando registrado la página se muestra entera, pero la variable de sesión por algún motivo que desconozco no se llena.

Página 1:

Código:
<?php
session_start(); 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>cosas para comer</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-5" />
</head>

<body>
<? 

include("fns/db_fns.php");
include("fns/functions.php");

 include("fns/oasisgoldbird_fns.php"); 
//var_dump($_POST);

//Solo le dejamos pasar si es usuario autorizado o ha iniciado sesion antes
if (!$_SESSION['autt'] ) {

if (!login($_POST['email'],$_POST['pwd']) ) {
echo "<p> Usted no tiene acceso </p>";
exit;
//Si existe 
$_SESSION['autt']=$_POST['email'];
} }

echo "<p class='white'>usuario: ".$_SESSION['autt']."</p>";
echo "<p class='white'><a href='pagina2.php'>Página2</a></p>";

?>
pagina2.php
Código:
<?php
session_start(); 
echo $_SESSION['autt'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>pino puente</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-5" />
</head>
<body>
<? 

include("fns/db_fns.php");
include("fns/functions.php");

 include("fns/oasisgoldbird_fns.php"); 
//var_dump($_POST);

//Solo le dejamos pasar si es usuario autorizado o ha iniciado sesion antes
if (!$_SESSION['autt'] ) {
echo "<p align='center' > Acceso denegado </p>"; 
exit;
} 
?>
Las sesiones son un tema que desde que empecé con php siempre me han dado muchos quebraderos de cabeza jeejje, no se lo que hago mal porque pongo el sesion_start inmeditamente despúes de la etiqueta <?php sin dejar espacio y antes que el resto de la cabecera , luego igualo una variable de sesión al estilo PHP5 , por cierto uso php5 que no lo había dicho. Lo he probado tanto en local como en internet y no me funciona
Un saludo y gracias de antemano.