Foros del Web » Programando para Internet » PHP »

Problema tonto con frase de error de inicio de sesion!

Estas en el tema de Problema tonto con frase de error de inicio de sesion! en el foro de PHP en Foros del Web. Hola a todos, tengo un problemilla tonto pero es que no me aclaro y necesito ayuda. Tengo un archivo html con un formulario de inicio ...
  #1 (permalink)  
Antiguo 24/07/2011, 12:28
 
Fecha de Ingreso: marzo-2011
Mensajes: 88
Antigüedad: 13 años, 1 mes
Puntos: 17
Problema tonto con frase de error de inicio de sesion!

Hola a todos, tengo un problemilla tonto pero es que no me aclaro y necesito ayuda.

Tengo un archivo html con un formulario de inicio de sesion (sin php ni nada de nada)
, este form me manda los datos al archivo login-exec.php, en éste archivo tengo un 'if' que comprueba si los datos son buenos y si no pues con un echo me muestra la tipica frase de error, hasta ahi bien ¡PERO! si fuerzo el formulario para que me salte el error se carga la pagina 'login-exec.php' y entonces ahi me sale la frasecita.

Lo que quiero es que me salga en el formulario a modo de aviso. he intentado meter la frase en una variable global si hay error y si no dejarla vacia, y en cualquier caso llamarla desde el form, pero no me funciona.

Si alguien puede orientarme, aqui dejo el codigo sin lo de la variable global, si hace falta que ponga el otro experimento fallido lo pongo pero es para no volveros locos con tanto codigo.

ARCHIVO FORM-EXEC.PHP :

Código PHP:

<?php

    
//miro si hay resultado

    
if($result) {
        if(
mysql_num_rows($result) == 1) {
            
//si lo hay pues..... me voy a la inicio de los usuarios
            
session_regenerate_id();
            
$member mysql_fetch_assoc($result);
            
$_SESSION['SESS_MEMBER_ID'] = $member['member_id'];
            
$_SESSION['SESS_FIRST_NAME'] = $member['firstname'];
            
$_SESSION['SESS_LAST_NAME'] = $member['lastname'];
            
session_write_close();
            
header("location: member-index.php");
            exit();
        }else {
// y si no pues salta el error, pero me salta en esta pagina y no en el form!!!!!
        
echo "no se pudo iniciar sesion";
            exit();
        }
    }else {
        die(
"Query failed");
    }

?>


Un saludo amigos.
  #2 (permalink)  
Antiguo 24/07/2011, 13:12
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 13 años, 9 meses
Puntos: 55
Respuesta: Problema tonto con frase de error de inicio de sesion!

pues lo que debes hacer es en vez de colocar esa frase

echo "no se pudo iniciar sesion";

puedes colocar algo como

header("location: login.php?error=1");

entonces suponiendo que se llame la pagina del formulario login.php, pregunto si existe el

if ($_GET['error'] == 1) {
//aqui metes el form con el aviso
}

saludos....
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #3 (permalink)  
Antiguo 24/07/2011, 13:22
 
Fecha de Ingreso: marzo-2011
Mensajes: 88
Antigüedad: 13 años, 1 mes
Puntos: 17
Respuesta: Problema tonto con frase de error de inicio de sesion!

Ok muchisimas gracias johhan16, voy a probar a ver que tal :) un saludo y gracias de nuevo!
  #4 (permalink)  
Antiguo 24/07/2011, 14:57
 
Fecha de Ingreso: marzo-2011
Mensajes: 88
Antigüedad: 13 años, 1 mes
Puntos: 17
Respuesta: Problema tonto con frase de error de inicio de sesion!

Hola otra vez!! jejeje a ver,os comento, he hecho lo que el amigo johhan16 me comentó pero algo no va bien...

En el archivo de la función puse esto:
Código PHP:
if($result) {
        if(
mysql_num_rows($result) == 1) {
            
//Login Successful
            
session_regenerate_id();
            
$member mysql_fetch_assoc($result);
            
$_SESSION['SESS_MEMBER_ID'] = $member['member_id'];
            
$_SESSION['SESS_FIRST_NAME'] = $member['firstname'];
            
$_SESSION['SESS_LAST_NAME'] = $member['lastname'];
            
session_write_close();
            
header("location: member-index.php");
            exit();
        }else {
            
//Login failed
        
header("location: login.php?error=1");
            exit();
        }
    }else {
        die(
"Query failed");
    } 
y en el archivo donde va el formulario de inicio de sesion esto:

Código PHP:
<?php

if ($_get['error'] == 1) {
echo 
"<td><b>datos incorrecto</b></td>";}

?>

Y me sale este error:
Cita:
Notice: Undefined index: error en C: \ wamp \ www \ login-init \ login-init \ login-formulario.php on line 12
He probado con $_get y con $_post por si acaso pero no se que hago mal...

Etiquetas: frase, html, inicio, mysql, sql, formulario, variables, usuarios
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 04:09.