Foros del Web » Programando para Internet » PHP »

Ayuda - loggin de usuarios

Estas en el tema de Ayuda - loggin de usuarios en el foro de PHP en Foros del Web. buenas.. tengo un simple problema... en el login de usuarios, para conectarse a la web es necesario escribir el nombre exactamente igual a como se ...
  #1 (permalink)  
Antiguo 27/01/2010, 15:40
 
Fecha de Ingreso: agosto-2009
Mensajes: 14
Antigüedad: 14 años, 7 meses
Puntos: 0
Ayuda - loggin de usuarios

buenas.. tengo un simple problema...

en el login de usuarios, para conectarse a la web es necesario escribir el nombre exactamente igual a como se registro, a esto me refiero con mayusculas y minusculas. si se pone algun caracter cambiado da error.

ejemplo

si me registro con el nick Juaaako e intento entrar escribiendo juaaako juAaakoO o JUAAAKO me da el error Nombre o contraseña incorrectos, es decir q no existe el usuario ;( ¿como lo puedo solucionar? muchos envian mails diciendo que no pueden entrar xq teclean el nombre en minusculas

el Codigo de login.php es el sgte

Código PHP:
<?
session_start
();
include(
"config.php");
header("Cache-control: private");
$username $_POST['username'];
$password md5($_POST['password']);
$info mysql_query("SELECT * FROM `users` WHERE `username` = '$username'") or die(mysql_error());  
$data mysql_fetch_array($info); 
if (
$username == $data[username] && $password == $data[password]){
$_SESSION["status"] = "loggedin";
$_SESSION["username"] = $username;
$_SESSION["password"] = $password;
header("Location: /?p=welcome"); /*If verification succesfull redirect back to index*/
exit;
}else{
header("Location: /?invalid=true");
// Close tab
include("closedb.php");
?>
también quería consultar la seguridad
  #2 (permalink)  
Antiguo 27/01/2010, 15:51
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 10 meses
Puntos: 50
Respuesta: Ayuda - loggin de usuarios

mysql tiene una funcion que convierte un string a mayusculas UCASE. lo unico que tiene aue hqcer es usarla en el select que valida el usuario para compar los dos datos completamente en mayuscula y asi no va atener este problema desde que la palabra coincida.

EDITO: Se puede con php tambien hacer pero por aca se ahorra pasos.

Última edición por helacer; 27/01/2010 a las 16:00
  #3 (permalink)  
Antiguo 27/01/2010, 15:57
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 5 meses
Puntos: 22
Respuesta: Ayuda - loggin de usuarios

trata de usar la instruccion strtoupper

Código PHP:
Ver original
  1. <?
  2. include("config.php");
  3. header("Cache-control: private");
  4. $username = strtoupper($_POST['username']);
  5. $password = md5($_POST['password']);
  6. $info = mysql_query("SELECT * FROM `users` WHERE `username` = '$username'") or die(mysql_error());  
  7. $data = mysql_fetch_array($info);
  8. if ($username == $data[username] && $password == $data[password]){
  9. $_SESSION["status"] = "loggedin";
  10. $_SESSION["username"] = $username;
  11. $_SESSION["password"] = $password;
  12. header("Location: /?p=welcome"); /*If verification succesfull redirect back to index*/
  13. }else{
  14. header("Location: /?invalid=true");
  15. } // Close tab
  16. include("closedb.php");
  17. ?>

y si te sirve tambien te dejo este aporte
  #4 (permalink)  
Antiguo 27/01/2010, 15:57
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 7 meses
Puntos: 150
Respuesta: Ayuda - loggin de usuarios

Cambia:

if ($username == $data[username] && $password == $data[password]){


por:

if (strtoupper($username) == strtoupper($data[username]) && strtoupper$password) == strtoupper$data[password])) {

Aunque yo te recomendaria que la contraseña diferenciaras minusculas y mayusculas. Saludos y buen karma
  #5 (permalink)  
Antiguo 27/01/2010, 16:02
 
Fecha de Ingreso: agosto-2009
Mensajes: 14
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Ayuda - loggin de usuarios

asiias ;P funciono de maravillas

tema solucionado :D

mxas grax

Etiquetas: loggin, 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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:40.