Foros del Web » Programando para Internet » PHP »

Ayuda...No puedo quitar este error

Estas en el tema de Ayuda...No puedo quitar este error en el foro de PHP en Foros del Web. Hola, estoy haciendo esta validación de password para crear una session. Pero me parece un error, en la variable 'usuario' ... alguien podrá decirme como ...
  #1 (permalink)  
Antiguo 05/05/2004, 20:42
Avatar de christianMen  
Fecha de Ingreso: abril-2004
Ubicación: Tijuana
Mensajes: 37
Antigüedad: 13 años, 8 meses
Puntos: 1
Ayuda...No puedo quitar este error

Hola, estoy haciendo esta validación de password para crear una session. Pero me parece un error, en la variable 'usuario' ... alguien podrá decirme como hacer, por favor? Les explico:

1.- Tengo un pagina llamada "intro.html" donde mando llamar a "login.php", la cual es la siguiente:

<?php
session_start();
$link = mysql_connect("localhost","root","");
$bd = mysql_select_db("posted_noticias");

if(($_POST["usuario"]!="") and ($_POST["password"]!=""))
{
$passmd5 = md5($_POST['password']);
$result = mysql_query ("SELECT usuario,level FROM post_usuarios where usuario='{$_POST['usuario']}' and password='$passmd5'");

if (mysql_num_rows($result))
{
if ($row = mysql_fetch_array($result))
{
session_name("autentificado");
session_register("posted_login");
session_register("posted_level");
$_SESSION["posted_login"] = $_POST["usuario"];
$_SESSION["posted_level"] = $row["level"];

$SesId = session_id();
$time=time();
$basename = basename($_SERVER["PHP_SELF"]);

$query_check = "SELECT id FROM post_users_list WHERE usuario='{$_POST['usuario']}' OR ip='{$_SERVER["REMOTE_ADDR"]}'";
$result_check = mysql_query($query_check);

if(mysql_num_rows($result_check)!=0) {
$query_db = "UPDATE post_users_list SET ses_id='$SesId', time='$time', usuario='{$_POST['usuario']}' WHERE ip='{$_SERVER["REMOTE_ADDR"]}'";
}else{
$query_db = "INSERT INTO post_users_list (ip, time, pagina, usuario, ses_id) VALUES ('{$_SERVER["REMOTE_ADDR"]}', '$time', '$basename', '{$_POST['usuario']}','$SesId')";
}
mysql_query ($query_db);
header("location: principal.php?s=".$SesId);
}
}
else
{
header("location: malpassword.html");
}
}
else
{
?>
<style type="text/css">
<!--
.Estilo5 { font-size: 18px;
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #FFFFFF;
}
.Estilo8 {font-size: 18px}
.Estilo9 {font-size: 14px; color: #FFFFFF; font-family: Verdana, Arial, Helvetica, sans-serif;}
body {
background-color: #5BACFD;
}
-->
</style>
<form method="POST" action="login.php">
<div align="center"></div>
<div align="center">
<table width="401" height="164" border="1">
<tr>
<td height="60" bgcolor="#336699"><div align="center" class="Estilo5">
<p class="Estilo8">A U T E N T I F I C A C I &Oacute; N</p>
</div></td>
</tr>
<tr>
<td><div align="center">
<p> <br><span class="Estilo9">Usuario</span> <br>
<input type="text" name="usuario" size="18">
<br>
<span class="Estilo9">Password</span><br>
<input type="password" name="password" size="18">
<br> <br>
<input name="submit" type="submit" value=" Aceptar ">
</p>
<p><br>
</p>
</div></td>
</tr>
</table>
</div>
</form>

<?php
}
?>

***********************
2.- Al entrar por primera vez a la pagina (en login.php) aparece un error arriba:

Notice: Undefined index: usuario in c:\appserv\www\tecwap\noticias\login.php on line 6

3.- Si le doy click en el boton de aceptar sin escribir nada en las cajas de texto el error desaparece.

¿Como le hago para que desde un principio no aparesca el error?

Espero y ustedes puedan ver el error.... Saludos y GRACIAS
__________________
°-° Christian °-°
  #2 (permalink)  
Antiguo 06/05/2004, 02:29
Avatar de firewind  
Fecha de Ingreso: noviembre-2003
Ubicación: Cabra-Córdoba-Andalucia-España
Mensajes: 62
Antigüedad: 14 años, 1 mes
Puntos: 2
Hola.

El error la primera vez es porque estas intentando comprovar el valor de una variable que no existe con la linea :
if(($_POST["usuario"]!="") and ($_POST["password"]!=""))
Pon antes una comprobación de la existencia de la variable del tipo:
if (isset($usuario)) {
....tu codigo de validacion
}

Cuendo le das al boton en con los campos en blanco, al recargar la pagina, ya existe la variable usuario, por eso no te da el error.

Un saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:38.