Sesiones no funcionan

Inicialmente tengo estos 2 archivos sencillos, llamados ses1.php y ses2.php
ses1.php :
<?php
if(isset($enviar)){
session_start();
session_register("nombre");
}
?>
<HEAD>
<TITLE>Ejemplo de sesiones (Captura) </TITLE>
</HEAD>
<BODY>
<?php
if(isset($enviar)){
echo "<H1> Nombre: $nombre </h1>\n";
echo "<A href=\"ses2.php\">Siguiente pagina</a><BR>\n";
}else{
?>
<form name=datos action=<?php echo $PHP_SELF; ?> method=get>
<table width="30%" align=center>
<tr>
<td> Nombre: </td> <td><input type=text name=nombre></td>
</tr>
<tr>
<td colspan=2 align=center><input type=submit name=enviar value=enviar></td>
</tr>
</table>
</form>
<?php
} //Fin else
?>
</BODY>
luego
ses2.php :
<?php
session_start();
?>
<HEAD>
<TITLE>Ejemplo de sesiones (Mostrar) </TITLE>
</HEAD>
<BODY>
<?php
echo "<H1> Nombre: $nombre </h1>\n";
?>
</BODY>
Problema:
1.Cuando en ses1.php doy click en el enlace hacías ses2.php no aparece mi nombre.
2.q debo de poner luego de solucionar el paso1, para q cuando quiera entrar directamente a ses2.php me salga un mensaje de error.
3.He visto dentro de windows/php.ini y
register_globals = On
Que es lo q puede estar pasando
freddy

1 Respuesta

Respuesta
1
Sustituye esto en ses1.php:
<?php
if(isset($enviar)){
session_start();
session_register("nombre");
}
?>
Por esto:
<?php
if($_POST['enviar']) {
session_start();
$_SESSION['nombre']=$_POST['nombre'];
}
?>
ses2.php:
<?php
if(session_id()) {
echo $_SESSION['nombre'];
}
else {
echo "No hay ninguna sesión abierta";
}
Saludos,
iNphYx

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas