Foros del Web » Programando para Internet » PHP »

Fallo en el logueo:

Estas en el tema de Fallo en el logueo: en el foro de PHP en Foros del Web. Buenas. Me gustaría que me solucionaseis un pequeño problema. estoy haciendo un script de logueo y me encuentro con un fallo Vamos por partes: logueo ...
  #1 (permalink)  
Antiguo 29/06/2006, 06:46
 
Fecha de Ingreso: febrero-2006
Mensajes: 80
Antigüedad: 11 años, 9 meses
Puntos: 1
Fallo en el logueo:

Buenas. Me gustaría que me solucionaseis un pequeño problema.
estoy haciendo un script de logueo y me encuentro con un fallo

Vamos por partes:
logueo html:
<form method="POST" action="login.php">
<input type="text" name="usuario" value="Nombre de Usuario"><br>
<input type="password" name="pass" value="******"><br><br>
<input type="submit" name="enviar" value="Entrar al panel">
</form>



login.php:

Cita:
Código PHP:
<?
if (isset($_POST[usuario]) && isset($_POST[pass]) && $_POST[enviar]) { 

/* Das los valores que tu quieras */ 
$admin "zeuser"//ejemplo: $admin = "pepito"; 
$contrasena "test"//ejemplo: $contrasena = "palotes"; 

if ($_POST[usuario] == $admin && $_POST[pass] == $contrasena) { 
echo 
'<head><meta http-equiv="refresh" content="5"; url="http://forosez.mundoserver.org/panel.php"></head>'
echo 
"Estamos redireccionando al panel"
 

 
} else { 
echo 
"Error: Nombre de usuario y/o contraseña incorrectos"



?>
Si pongo los datos incorrectos sale el mensake: Nombre de usuario y/o contraseña incorrectos.
Pero si pongo los datos correctos ahi viene el error:

Me pone: redireccionando al panel, pero en lugar de ir a panel.php redireccionma de nuevo a login.php
Alguna solución, alguna otra forma de redireccionar con alguna funcion php?

Salu2 ;)
  #2 (permalink)  
Antiguo 29/06/2006, 07:17
 
Fecha de Ingreso: febrero-2006
Mensajes: 297
Antigüedad: 11 años, 9 meses
Puntos: 1
Prueba con lo siguiente a ver:
header("Location: http://forosez.mundoserver.org/panel.php");
o
header("Refresh:5; URL=http://forosez.mundoserver.org/panel.php");

Si quieres que espere 5 segundos y te muestre el mensaje de que se está redireccionando.
Suerte!
  #3 (permalink)  
Antiguo 29/06/2006, 07:31
 
Fecha de Ingreso: febrero-2006
Mensajes: 80
Antigüedad: 11 años, 9 meses
Puntos: 1
El primero ya lo había intentado anteriormente y me sale el tipico error de php , en este caso en la linea 17 ( donde le corresponde)

Y el segundo me sale el mismo error, por lo tanto tampoco me funciona.

Como lo haríais vosotros?

Salu2 :D
  #4 (permalink)  
Antiguo 29/06/2006, 09:15
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 11 años, 10 meses
Puntos: 3
Por q no redireccionas directamente desde PHP?
header("location:panel.php");
Solo q si redireccionas no vas a poder poner echos antes de que se ejecute la redireccion.. si no te va a marcar error... ni tengas espacios en tu codigo.. (linea tras linea)...
Saludos..
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #5 (permalink)  
Antiguo 05/07/2006, 03:23
 
Fecha de Ingreso: marzo-2004
Ubicación: Sureste
Mensajes: 186
Antigüedad: 13 años, 9 meses
Puntos: 0
Hola Zeuser,

No sé si habrás solucionado ya tu problema, pero era un tema que venía siguiendo porque me pasaba igual. Lo solucioné de una manera muy tonta xD,

Resulta que al poner la contraseña del usuario en cuestión, no la estaba introduciendo encriptada. Lo hice y a funcionar.

Un saludo,
Kailea.
  #6 (permalink)  
Antiguo 05/07/2006, 08:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y cual ese "Típico" error de PHP? .. si lo especificas .. mejor será.

Se trata de que ese script de proceso (validación) .. tan sólo "decida" si corresponde redireccionar a una página u otra .. o quedarse en ese misma:

Código PHP:
<? 
/* Das los valores que tu quieras */  
$admin "zeuser"//ejemplo: $admin = "pepito";  
$contrasena "test"//ejemplo: $contrasena = "palotes";  

if ($_POST['usuario'] == $admin && $_POST['pass'] == $contrasena) {  
   
header("Location: dondesea.php");
   exit;  
} else {
   
header("Location: error.php");
   exit;  


?>
No hace falta ni que valides tus variables si existen o no .. ya validas por cierto dato concreto .. (a no ser que quieras arrojar un error tipo "debe intruducir datos" .. o algo así )...

Por cierto .. si redireccionas ante tu validación .. necesariamente por seguridad debes crear alguna variable de sesión o cookie para que lo vuelvas a validar en el script donde redireccionas .. sino, si accedes "por detras" directamente a tu "dondesea.php" entraras sin más validación .. OJO con eso!.

Ese script es tal cual .. nada más de "HTML" que lo adorne .. En su defecto si vas a validar esa página generada .. sería algo así:

Código PHP:
<? 
/* Das los valores que tu quieras */  
$admin "zeuser"//ejemplo: $admin = "pepito";  
$contrasena "test"//ejemplo: $contrasena = "palotes";  

if ($_POST['usuario'] != $admin || $_POST['pass'] != $contrasena) { 
   
// redireccionamos si no se cumple tu condición ... 
   
header("Location: dondesea.php");
   exit;  
}
?>
<html>
Tu página HTML que requiere validación para verla ...
</html>

* PD: .. Usa comillas en los indices de arrays como $_POST .. sino podrían ser tomadas como "constantes" que no lo son ...


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 05/07/2006 a las 08:21
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 20:42.