Foros del Web » Programando para Internet » PHP »

Falla autentificación "user" "password"

Estas en el tema de Falla autentificación "user" "password" en el foro de PHP en Foros del Web. Siguiendo la guía de www.desarrolloweb.com sobre autentificación en PHP he intentado montar algo así, pero siempre me dice "Datos incorrectos". He creado un archivo entrada.php ...
  #1 (permalink)  
Antiguo 31/10/2005, 12:29
 
Fecha de Ingreso: octubre-2005
Mensajes: 33
Antigüedad: 18 años, 5 meses
Puntos: 0
Falla autentificación "user" "password"

Siguiendo la guía de www.desarrolloweb.com sobre autentificación en PHP he intentado montar algo así, pero siempre me dice "Datos incorrectos".

He creado un archivo entrada.php con el siguiente código:

Código PHP:
<?if ($_GET["errorusuario"]=="si"){?> 
bgcolor=red><span style="color:ffffff"><b>Datos incorrectos</b></span> 
<?}else{?> 
bgcolor=#cccccc>Introduce tu clave de acceso 
<?}?>
Hay un formulario que pide usuario ($usuario) y contraseña ($contrasena) y me manda a control.php, que tiene lo siguiente:

Código PHP:
<? 
//conecto con la base de datos 
$conn mysql_connect("servidor","usuario","password");
//selecciono la BBDD 
mysql_select_db("base_de_datos",$conn);
//Sentencia SQL para buscar un usuario con esos datos 
$ssql "SELECT * FROM usuarios WHERE User='$usuario' and Password='$contrasena'"
//Ejecuto la sentencia 
$rs mysql_query($ssql,$conn); 
//vemos si el usuario y contraseña es váildo 
//si la ejecución de la sentencia SQL nos da algún resultado 
//es que si que existe esa conbinación usuario/contraseña 
if (mysql_num_rows($rs)!=0){ 
    
//usuario y contraseña válidos 
    //defino una sesion y guardo datos 
    
session_start(); 
    
session_register("autentificado"); 
    
$autentificado "SI"
    
header ("Location: depth_chart.php"); 
}else { 
    
//si no existe le mando otra vez a la portada 
    
header("Location: entrada.php?errorusuario=si"); 

mysql_free_result($rs); 
mysql_close($conn); 
?>
Que si encuentra en la tabla el usuario y contraseña me envía al archivo depth_chart.php y sino a entrada.php

Pues bien, siempre me manda a entrada.php y me dice que los datos son incorrectos.

¿Que es lo que falla?
  #2 (permalink)  
Antiguo 31/10/2005, 12:44
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
prueba a poner en control.php al principio lo siguiente:
Código PHP:
$usuario=$_POST['usuario'];
$contrasena$_POST['contrasena']; 
o si envias con GET cambia los POST por GET
ese mismo script lo tengo usado y nunca me dio problemas.

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #3 (permalink)  
Antiguo 31/10/2005, 12:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Y también usa los arrays superglobales para trabajar con sesiones .. realmente ese tutorial está demasiado desfasado. Intenta ver otro (en las FAQ's tienes ejemplos de uso de sesiones y demás).

http://www.forosdelweb.com/showpost....&postcount=129

Un saludo,
  #4 (permalink)  
Antiguo 31/10/2005, 13:52
 
Fecha de Ingreso: octubre-2005
Mensajes: 33
Antigüedad: 18 años, 5 meses
Puntos: 0
Sigue fallando.

Intentaré echar un vistazo al enlace que me has puesto. A ver si saco algo en claro.
  #5 (permalink)  
Antiguo 31/10/2005, 18:25
Avatar de gonzalezmfrank  
Fecha de Ingreso: julio-2005
Ubicación: Maracaibo - Venezuela
Mensajes: 266
Antigüedad: 18 años, 8 meses
Puntos: 0
Revisa como tienes grabado el password en la base de datos, no estarás buscando en password sin encryptar y lo tienes encriptado en la BD ?

Digo esto porque generalmente para los password hacemos

$contrasena=MD5($_POST['contrasena']);

y luego la grabamos así

Saludos

Frank
  #6 (permalink)  
Antiguo 01/11/2005, 02:37
 
Fecha de Ingreso: octubre-2005
Mensajes: 33
Antigüedad: 18 años, 5 meses
Puntos: 0
En la base de datos el password está como tinytext (lo copie del autentificador de Cluster), al igual que el usuario.

Lo de encriptar no se donde se pone.
  #7 (permalink)  
Antiguo 01/11/2005, 05:19
Avatar de gonzalezmfrank  
Fecha de Ingreso: julio-2005
Ubicación: Maracaibo - Venezuela
Mensajes: 266
Antigüedad: 18 años, 8 meses
Puntos: 0
Colocalo antes del SELECT de la tabla, se supone que viene desde un FORM donde el usuario le asigna una palabra.

Por otro lado tanto los campos como el contenido es 'case sensitive' verifica si en tu tabla el usuario esta definido como "User o user" asi mismo el "Password o password", en algunos casos este pequeño detalle es el que crea la situacion

Saludos.

Frank
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 15:22.