PHP - Problemas con Sesiones

 
Vista:

Problemas con Sesiones

Publicado por tomas (7 intervenciones) el 07/06/2005 15:57:07
Buen Día, tengo 2 archivos en Php, la mecanica del asunto es registrar el nombre de un usuario, y que de alli en adelante ese usuario quede registrado en la sesion, es decir que cada vez que visite usuario.php o usuario2.php este registrado ese usuario, siempre y cuando no haya cerrado el navegador.
los codigos son los siguientes:
"usuario.php"
<?
session_start();
?>
<html>
<head>
<title>Ejemplo de Sesion con un usuario</title>
</head>
<body topmargin="0">
<p><h1><strong><em>Ejemplo de uso de Variables de Sesion en Php</em></strong></h1></p>
<? if (!isset($_POST[cmd_env])){
?>
<form method=post action=<? $PHP_SELF ?> >
<table border=1>
<tr>
<td>Nombre del Usuario</td><td><input type=text name=txt_usu></td>
<tr>
<td><input type=submit name=cmd_env value=registrar usuario></td>
</tr>
</table>
<? }else{
$_SESSION['VAR1']=$_POST[txt_usu];
echo "la variable de Session esta creada con el usuario ".$_SESSION['VAR1']."<br>";
?>
<a href="usuario2.php?<? echo "=".$_SESSION['VAR1'] ?>">Ir a la prueba</a>
<? } ?>
</body>
</html>
"usuario2.php"
<?
if ($_SESSION['VAR1']=="tomas"){
echo "El usuario Existe con el nombre ".$SESSION['VAR1'].", prueba Satisfactoria";
}else{
echo "El usuario no Existe, prueba no completada";
}
?>

Espero que me puedan ayudar ya que estos prinicpios los necesito aplicar en mi tesis de grado y es de media urgencia... Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con Sesiones

Publicado por a677dar (29 intervenciones) el 07/06/2005 17:48:34
Te recomiendo que no uses el campo "cmd_env" (de tipo submit) como flag para detectar si el formulario se ejecuta por 1a. vez o no, ya que si se pulsa la tecla Enter en cualquier cuadro de texto, el formulario se envia y el campo "cmd_env" queda vacio. Solo va a funcionar si lo cliqueas con el mouse, ok?

De todas maneras, hay otros errores menores, pero te paso aqui los dos scripts corregidos y funcionando:

Nota: recuerda de probarlo pulsando el boton con el mouse, no dando enter despues de escribir el nombre de usuario.

script usuario1.php:
<?
session_start();
?>
<html>
<head>
<title>Ejemplo de Sesion con un usuario</title>
</head>
<body topmargin="0">
<p><h1><strong><em>Ejemplo de uso de Variables de Sesion en Php</em></strong></h1></p>
<? if (!isset($_POST["cmd_env"])){
?>
<form method=post action="<? echo $_SERVER['PHP_SELF']; ?>">
<table border=1>
<tr>
<td>Nombre del Usuario</td><td><input type=text name="txt_usu"></td>
<tr>
<td><input type=submit name="cmd_env" value="registrar usuario"></td>
</tr>
</table>
<? }else{
$_SESSION['VAR1']=$_POST["txt_usu"];
echo "la variable de Session esta creada con el usuario ".$_SESSION['VAR1']."<br>";
?>
<a href="usuario2.php?<? echo "=".$_SESSION['VAR1'] ?>">Ir a la prueba</a>
<? } ?>
</form>
</body>
</html>

script usuario2.php:
<?
session_start();
if ($_SESSION['VAR1']=="tomas"){
echo "El usuario Existe con el nombre ".$_SESSION['VAR1'].", prueba Satisfactoria";
}else{
echo "El usuario no Existe, prueba no completada";
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar