Foros del Web » Programando para Internet » PHP »

Problema con autenticación

Estas en el tema de Problema con autenticación en el foro de PHP en Foros del Web. He usado la plantilla de php para autenticación de usuarios múltiples. He creado una base de datos en mysql con el nombre de usuario y ...
  #1 (permalink)  
Antiguo 23/10/2008, 09:07
 
Fecha de Ingreso: enero-2004
Mensajes: 5
Antigüedad: 20 años, 3 meses
Puntos: 0
Problema con autenticación

He usado la plantilla de php para autenticación de usuarios múltiples.
He creado una base de datos en mysql con el nombre de usuario y la contraseña. Al nombre de usuario le he dicho además que sea clave primaria.

Está todo correcto pero por algún motivo no funciona. No autentifica a nadie, ni tan siquiera cuando introduzco correctamente el nombre de usuario y contraseña.

Este es el código:
<?
$conn = mysql_connect("localhost","d193453_xxxx","xxxx");
mysql_select_db("d193453_sss",$conn);
$ssql = "SELECT * FROM sss WHERE usr_pass='$contrasena' and usr_login='$usuario'";
$rs = mysql_query($ssql,$conn);
if (mysql_num_rows($rs)!=0){
session_start();
session_register("autentificado");
$autentificado = "SI";
header ("Location: index.html");
}else {
header("Location: index.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?>
  #2 (permalink)  
Antiguo 23/10/2008, 09:40
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Problema con autenticación

Que tal virgimadrid, primero que todo verifica que no tenga errores tu consulta utilizando la función mysql_error(), ahora verifica tambien la forma o el método con el cual rescatas los datos del formulario ya sea POST o GET dependiendo de como lo hayas implementado(Publica el código del formulario que recive los datos), prueba así tu código:
Código PHP:
<?php
$conn 
mysql_connect("localhost","d193453_xxxx","xxxx");
mysql_select_db("d193453_sss",$conn);
$usuario $_POST['usuario'];
$contrasena $_POST['contrasena'];
$ssql "SELECT * FROM sss WHERE usr_pass='$contrasena' and usr_login='$usuario'";
$rs mysql_query($ssql,$conn) or die("Error en consulta $ssql:".mysql_error() );
if (
mysql_num_rows($rs)!=0){
session_start();
session_register("autentificado");
$autentificado "SI";
header ("Location: index.html");
}else {
header("Location: index.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?>
Otra cosa veo que utilizas sesiones, verifica tambien la correcta implementación de las mismas en las páginas que serían privadas, cosas como ubicar session_start() al principio de cada página, tambien te recomiendo que utilizes el array superglobal $_SESSION para trabajar con las sesiones.


Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
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 22:24.