Foros del Web » Programando para Internet » PHP »

error login

Estas en el tema de error login en el foro de PHP en Foros del Web. hola amigos tengo un sistema de login sencillo y tengo una duda como le hago para que cuando el login del usuario sea invalido que ...
  #1 (permalink)  
Antiguo 14/10/2010, 10:42
 
Fecha de Ingreso: abril-2010
Mensajes: 182
Antigüedad: 14 años
Puntos: 8
error login

hola amigos tengo un sistema de login sencillo y tengo una duda como le hago para que cuando el login del usuario sea invalido que me aparezca un aviso en rojo o algo q le indique se esta mal el login.

espero me entiendan gracias
  #2 (permalink)  
Antiguo 14/10/2010, 10:48
Avatar de zeuslife  
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 533
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: error login

supondiendo que tienes algún tipo de if para verificar si coincide con algun registro de la db, en el else o el else if, según como lo hagas, le redireccionas a la pagina del login, con un valor por get (por ejemplo), en plan login.php?error=1. Luego, eso lo recoges en esa pagina, y haces un if, que en pseudocodigo sería: Si hay error uno, muestro este mensaje, si no, nada :)

De los colores, el css y demás ya te encargas tu!

Saluds!
__________________
Neversyn Software e Ingeniería
  #3 (permalink)  
Antiguo 14/10/2010, 10:55
 
Fecha de Ingreso: abril-2010
Mensajes: 182
Antigüedad: 14 años
Puntos: 8
Respuesta: error login

mira este es el codigo que tengo para el login
Código PHP:
Ver original
  1. <?php
  2. // *** Validate request to login to this site.
  3. if (!isset($_SESSION)) {
  4. }
  5.  
  6. $loginFormAction = $_SERVER['PHP_SELF'];
  7. if (isset($_GET['accesscheck'])) {
  8.   $_SESSION['PrevUrl'] = $_GET['accesscheck'];
  9. }
  10.  
  11. if (isset($_POST['log'])) {
  12.   $loginUsername=$_POST['log'];
  13.   $password=$_POST['pwd'];
  14.   $MM_fldUserAuthorization = "admin_priv";
  15.   $MM_redirectLoginSuccess = "jimdvd.html";
  16.   $MM_redirectLoginFailed = "index.php";
  17.   $MM_redirecttoReferrer = false;
  18.   mysql_select_db($database_jimdvd, $jimdvd);
  19.    
  20.   $LoginRS__query=sprintf("SELECT usuario, pass, admin_priv FROM usuarios WHERE usuario=%s AND pass=%s",
  21.   GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
  22.    
  23.   $LoginRS = mysql_query($LoginRS__query, $jimdvd) or die(mysql_error());
  24.   $loginFoundUser = mysql_num_rows($LoginRS);
  25.   if ($loginFoundUser) {
  26.    
  27.     $loginStrGroup  = mysql_result($LoginRS,0,'admin_priv');
  28.    
  29.     if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
  30.     //declare two session variables and assign them
  31.     $_SESSION['MM_Username'] = $loginUsername;
  32.     $_SESSION['MM_UserGroup'] = $loginStrGroup;      
  33.  
  34.     if (isset($_SESSION['PrevUrl']) && false) {
  35.       $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; 
  36.     }
  37.     header("Location: " . $MM_redirectLoginSuccess );
  38.   }
  39.   else {
  40.     header("Location: ". $MM_redirectLoginFailed );
  41.   }
  42. }
  43. ?>
  #4 (permalink)  
Antiguo 14/10/2010, 10:58
Avatar de CazaresLuis  
Fecha de Ingreso: septiembre-2010
Ubicación: Distrito Federal
Mensajes: 67
Antigüedad: 13 años, 7 meses
Puntos: 2
Información Respuesta: error login

Cita:
Iniciado por servidigital Ver Mensaje
hola amigos tengo un sistema de login sencillo y tengo una duda como le hago para que cuando el login del usuario sea invalido que me aparezca un aviso en rojo o algo q le indique se esta mal el login.

espero me entiendan gracias
Hola lo estas haciendo a la manera tradicional? llamando desde tu login.php a un procesa_login.php o con ajax?

Si es el primer caso te sugiero que cuando este mal el login regreses al login.php

Código PHP:
// Archivo procesa_login.php
if($login == false)
   
header("Location: login.php?login=false"); 
Código PHP:
// Archivo login.php
if(isset($_GET['login']) && $_GET['login'] == false)
  echo 
'Error al ingresar al sistema'
Saludos
  #5 (permalink)  
Antiguo 14/10/2010, 11:02
Avatar de zeuslife  
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 533
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: error login

Jajajaja ese código está generado por el dreamweaver eh?! Pues bien, sería tan sencillo como (el código php)

Código PHP:
Ver original
  1. <?php
  2. // *** Validate request to login to this site.
  3. if (!isset($_SESSION)) {
  4. }
  5.  
  6. #Aqui recogemos el código de error, si lo hay
  7.  
  8. if($_GET['error']==1) {
  9.  
  10.      $mensaje = "<font color=\"red\">Usuario o clave erroneos</font>";
  11.  
  12. }
  13. *
  14. $loginFormAction = $_SERVER['PHP_SELF'];
  15. if (isset($_GET['accesscheck'])) {
  16. * $_SESSION['PrevUrl'] = $_GET['accesscheck'];
  17. }
  18. *
  19. if (isset($_POST['log'])) {
  20. * $loginUsername=$_POST['log'];
  21. * $password=$_POST['pwd'];
  22. * $MM_fldUserAuthorization = "admin_priv";
  23. * $MM_redirectLoginSuccess = "jimdvd.html";
  24. * $MM_redirectLoginFailed = "index.php?error=1"; //Aqui añadimos el código de error
  25. * $MM_redirecttoReferrer = false;
  26. * mysql_select_db($database_jimdvd, $jimdvd);
  27. * *
  28. * $LoginRS__query=sprintf("SELECT usuario, pass, admin_priv FROM usuarios WHERE usuario=%s AND pass=%s",
  29. * GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
  30. * *
  31. * $LoginRS = mysql_query($LoginRS__query, $jimdvd) or die(mysql_error());
  32. * $loginFoundUser = mysql_num_rows($LoginRS);
  33. * if ($loginFoundUser) {
  34. * *
  35. * * $loginStrGroup *= mysql_result($LoginRS,0,'admin_priv');
  36. * *
  37. * * if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
  38. * * //declare two session variables and assign them
  39. * * $_SESSION['MM_Username'] = $loginUsername;
  40. * * $_SESSION['MM_UserGroup'] = $loginStrGroup; * * *
  41. *
  42. * * if (isset($_SESSION['PrevUrl']) && false) {
  43. * * * $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];*
  44. * * }
  45. * * header("Location: " . $MM_redirectLoginSuccess );
  46. * }
  47. * else {
  48. * * header("Location: ". $MM_redirectLoginFailed );
  49. * }
  50. }
  51. ?>

Y ahora solo te faltaría mostrar la variable mensaje donde deseases mostrar el mensaje de error, que solo se mostraria en caso de error 1. Para agregar más errores, o extiendes el if, o creas un switch, que sería más cómodO.

Saludos!
__________________
Neversyn Software e Ingeniería
  #6 (permalink)  
Antiguo 14/10/2010, 11:21
 
Fecha de Ingreso: abril-2010
Mensajes: 182
Antigüedad: 14 años
Puntos: 8
Respuesta: error login

zeuslife jejej si es generado

oye me marca en rojo o error esto

if($_GET['error']==1) {

$mensaje = "<font color=\"red\">Usuario o clave erroneos</font>";

}

por q sera?

Etiquetas: login
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:20.