Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/03/2005, 04:21
Harold.
 
Fecha de Ingreso: enero-2005
Mensajes: 9
Antigüedad: 13 años, 8 meses
Puntos: 0
problema con sessiones

Hola, tengo este script para validar los datos de un formulario:

<?php
session_start();
error_reporting(E_ALL);

require_once ('bookmark_fns.php');

if(isset($_POST['enviar'])) {
$usuario = addslashes (trim($HTTP_POST_VARS['usuario']));
$passwd = addslashes (trim($HTTP_POST_VARS['passwd']));
$passwd2 = addslashes (trim($HTTP_POST_VARS['passwd2']));
$email = addslashes (trim($HTTP_POST_VARS['email']));
$email2 = addslashes (trim($HTTP_POST_VARS['email2']));
$fecha = $dia[$gisett].", ".date("d")." de ".$mes[$mesnum]." del ".date("Y");
$nivel = 1;
$ip = $REMOTE_ADDR;;
$mensaje ='';

$_SESSION['variable'] = "$usuario";

if (strlen($usuario)<5 || strlen($usuario)>15)
{
$mensaje .= 'El nombre de usuario debera tener entre 5 y 15 caractares.<br>';
}
if (strlen($passwd)<6 || strlen($passwd)>16)
{
$mensaje .= 'La contraseña debera tener entre 6 y 16 caracteres.<br>';
}
if (!valid_email($email))
{
$mensaje .= 'Debes escribir un email valido.<br>';
}
if ($mensaje !='')
{
echo "Se han encontrado los siguientes problemas.<br>".$mensaje;
}
$reg_result = registrar ($usuario, $passwd, $email, $fecha, $nivel, $ip);
if ($reg_result === true)
{
$HTTP_POST_VARS['valid_user'] = $usuario;
echo 'Usuario registrado con exito.';
}
}
if ($zona=="registro")
{
display_registration_form();
}
?>

y aqui tengo el html separado del formulario:


<?php
function display_registration_form()
{
?>
<html>
<head>
</head>

<body>
<form name="registro" method="post" action="index.php?zona=registro">
<input type="text" name="usuario" value="<?php echo $_SESSION['variable']; ?>">
<br>
<input type="password" name="passwd">
<br>
<input type="password" name="passwd2">
<br>
<input type="text" name="email">
<br>
<input type="text" name="email2">
<br>
<input type="submit" name="enviar" value="Enviar">
</form>
</body>
</html>
<?php
unset($_SESSION['variable']);
}
?>

Uso las sesiones para mantener los datos del formulario y cuando haya un error que no desaparezcan los datos introducidos. El problema esta que siempre me pone este error;

Notice: Undefined index: variable in output_fns.php on line 11

pero a pesar de eso todo funciona perfectamente. Alguna idea?