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:
pagina2.php<?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>"; ?>
Código:
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<?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; } ?>
Un saludo y gracias de antemano.