Foros del Web » Programando para Internet » PHP »

Script erroneo.

Estas en el tema de Script erroneo. en el foro de PHP en Foros del Web. Hola a todos. Estoy por aquí porque tengo una duda sobre mi script. Este es un script que comprueba usuario y contraseña conectado a una ...
  #1 (permalink)  
Antiguo 29/07/2006, 20:18
Avatar de Netfrank  
Fecha de Ingreso: marzo-2006
Ubicación: Las Talitas - Tucumán
Mensajes: 226
Antigüedad: 18 años, 1 mes
Puntos: 3
Script erroneo.

Hola a todos.
Estoy por aquí porque tengo una duda sobre mi script.

Este es un script que comprueba usuario y contraseña conectado a una BBDD. Supuestamente, si todo es correcto, continúa hacia la página deseada pasando el nombre de usuario, sino me devuelve al login avisando el error.

El problema es que cuando no es correcto algo, se queda en esa página, osea aparece la página en blanco, con el nombre del script.

¿Alguien podría decirme cuál es mi error?
Código PHP:
<?
$Usuario
=$HTTP_POST_VARS["Usuario"]; 
$cont=$_POST["Contrasena"];
$conexion=mysql_connect('localhost','xxxxxx','xxxxx'); 
mysql_select_db("fi000328_libro") or die("No puedo seleccionar la bd."); 
$query "select * from mail_cristianos where Usuario='$Usuario' and Contrasena='$cont'"
$result mysql_query($query); 
while(
$row=mysql_fetch_array($result))
//veo si el usuario y contraseña es váildo 
if ($_POST["Usuario"]=="".$row["Usuario"]."" && $_POST["Contrasena"]=="".$row["Contrasena"].""){ 
    
//usuario y contraseña válidos 
    //defino una sesion y guardo datos 
    
session_start(); 
    
$_SESSION["autentificado"]= "SI"
    
header ("Location: contactos_admin.php?usuario=$Usuario"); 
}else { 
    
//si no existe le mando otra vez a la portada 
    
header("Location: contactos_update_login.php?errorusuario=si"); 

?>
Desde ya gracias por su ayuda.

Última edición por jam1138; 30/07/2006 a las 02:43
  #2 (permalink)  
Antiguo 30/07/2006, 02:50
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
El error... si la consulta no devuelde datos (osea que no coinsidieron el usuario y password) la función mysql_fetch_array() no se ejecuta (devuelve FALSE), no entras en el ciclo y por consecuente no hay manera de ejecutar el bloque del ELSE.

Te sugiero te detengas a plantear bien la situación y las posibles situaciones pero en general puedes hacer uso de la función mysql_num_rows() para solventar tu problema o, en su defecto --no recomendado pero quizá más simple de comprender-- hacer la condicional con mysql_fetch_array(), pero ¿supones la consulta devolverá más de un resultado?; esa función, quizá, ni debería utilizarse.

Saludos y suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 09:02.