Foros del Web » Programando para Internet » PHP »

Enlaces diferentes

Estas en el tema de Enlaces diferentes en el foro de PHP en Foros del Web. Hola, estoy intentando hacer un login en el que si escribes correctamente el usuario y la contraseña, al realizar la consulta a la bd, se ...
  #1 (permalink)  
Antiguo 28/10/2005, 07:30
Avatar de sir_bowen  
Fecha de Ingreso: junio-2005
Mensajes: 184
Antigüedad: 18 años, 10 meses
Puntos: 0
Pregunta Enlaces diferentes

Hola,
estoy intentando hacer un login en el que si escribes correctamente el usuario y la contraseña, al realizar la consulta a la bd, se entra en una página. Pero si no coinciden, quiero recargar la misma página mostrando un mensaje de error...

¿Cómo puedo hacer que según el resultado de la consulta me cargue luego una página u otra?

Muchas gracias

Saludos
  #2 (permalink)  
Antiguo 28/10/2005, 09:00
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 19 años, 11 meses
Puntos: 0
Con if y else
  #3 (permalink)  
Antiguo 28/10/2005, 09:32
Avatar de sir_bowen  
Fecha de Ingreso: junio-2005
Mensajes: 184
Antigüedad: 18 años, 10 meses
Puntos: 0
A ver si asi se entiende mejor...
Tengo un formulario con dos cajas de texto (una de ellas de tipo password) y un botón Enviar. Quiero saber qué action pongo en el formulario o qué función de PHP me sirve para abrir una página...

Gracias

Saludos
  #4 (permalink)  
Antiguo 28/10/2005, 10:00
Avatar de Vaalegk  
Fecha de Ingreso: abril-2005
Mensajes: 154
Antigüedad: 19 años
Puntos: 2
la idea seria algo asi
Código PHP:
<?php
session_start
();  //lo necesitaras

function xRequest($key,$stack,$def=''){        //solo como utileria
    
return isset($stack[$key])?$stack[$key]:$def;
}

$modo=xRequest('modo',$_REQUEST);
$error=xRequest('error',$_REQUEST);


$loged=xRequest('loged',$_SESSION);            //por si despued de logeado intenta venir a login de nuevo 
if($loged){
    
header('Location:la_url_del_login.php');
}

switch(
$modo){
    case 
'validate':
        
$usr=xRequest('user',$_POST);
        
$pw=xRequest('pw',$_POST);
        
        if(
$tu_validacion_va_aqui){   // lo que decia javifo :-)
        
            
$_SESSION['loged']=true;     //solo como ejemplo 
            
header('Location:la_url_del_login.php');        //redirecionar ***
        
}else{
            
header('Location:'.$_SERVER['PHP_SELF'].'?error=Login Invalido');    //redireccinar ***
        
}
    case 
'exit':        // + - ejemplo
        
$_SESSION['loged']=false;     
        unset(
$_SESSION['loged']);        
    break;    
}
?>
<form action="<?=$_SERVER['PHP_SELF']?>?modo=validate" method="post">
<input type="text" name="user">
<input type="password" name="pw"><br>
<input type="submit">
</form>
<div style="color:#FF0000 "><?=$error?></div>
si lo del header te da problemas haz una busqueda en los foros(hay un monto al respecto), pero la idea basica es que no debes enviar(imprimir) NADA antes de mandar los headers.

bueno espero haber sido de ayuda
  #5 (permalink)  
Antiguo 30/10/2005, 06:15
Avatar de sir_bowen  
Fecha de Ingreso: junio-2005
Mensajes: 184
Antigüedad: 18 años, 10 meses
Puntos: 0
Buah muchas gracias

Mañana en cuanto llegue a la oficina lo pruebo, pero creo que sí que funcionará.

Saludos Vaalegk
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:30.