Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Como validar contraseñas

Estas en el tema de Como validar contraseñas en el foro de Javascript en Foros del Web. Hola me gustaría saber alguna forma de validar que las contraseñas coincidan con javascript sin tener que recargar la pagina ya que los métodos que ...
  #1 (permalink)  
Antiguo 05/01/2015, 09:32
Avatar de dmrx921  
Fecha de Ingreso: enero-2015
Mensajes: 35
Antigüedad: 9 años, 4 meses
Puntos: 0
Como validar contraseñas

Hola me gustaría saber alguna forma de validar que las contraseñas coincidan con javascript sin tener que recargar la pagina ya que los métodos que encuentro son enviando los datos al servidor y validarlos ai.

Gracias a todos por adelantado.
  #2 (permalink)  
Antiguo 05/01/2015, 18:43
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Como validar contraseñas

Nunca hagas esas comprobaciones en el lado del cliente porque representaría una seria amenaza de seguridad para tu aplicación. Mejor usa Ajax, así evitarás recargar la página.

Un ejemplo muy básico:

Código HTML:
Ver original
  1. <form id = "login">
  2.     Usuario: <input type = "text" name = "usuario" />
  3.     Clave: <input type = "password" name = "clave" />
  4.     <input type = "submit" />
  5. </form>

Código Javascript:
Ver original
  1. document.querySelector("#login").addEventListener("submit", function(event){
  2.     event.preventDefault(); //Cancelo el envío del formulario
  3.  
  4.     var ajax = new XMLHttpRequest(),
  5.         usuario = document.querySelector("[name=usuario]").value,
  6.         clave = document.querySelector("[name=clave]").value,
  7.         datos = "usuario=" + usuario + "&clave=" + clave;
  8.  
  9.     ajax.open("POST", "verificar.php", true);
  10.     ajax.onreadystatechange = function(){
  11.         if (ajax.readyState == 4 && ajax.status == 200){
  12.             alert(ajax.responseText);
  13.         }
  14.         else{
  15.             alert("Se produjo un error: " + ajax.status);
  16.         }
  17.     };
  18.     ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  19.     ajax.send(datos);    
  20. }, false);

Código PHP:
Ver original
  1. //verificar.php
  2.  
  3. $mysqli = new mysqli('server', 'user', 'password', 'database');
  4.  
  5. if ($mysqli->connect_error){
  6.     exit('No se pudo realizar la conexión');
  7. }
  8.  
  9. $usuario = $mysqli->real_escape_string(strip_tags($_POST['usuario']));
  10. $clave = $mysqli->real_escape_string(strip_tags($_POST['clave']));
  11.  
  12. $query = $mysqli->query("SELECT * FROM usuarios WHERE usuario = '$usuario' AND clave = '$clave'") or exit('No se pudo realizar la consulta');
  13.  
  14. if ($query->num_rows){
  15.     echo 'Los datos son válidos';
  16. }
  17. else{
  18.     echo 'Los datos no son correctos';
  19. }
  20.  
  21. $query->free();
  22. $mysqli->close();

Mediante Ajax, envías el nombre de usuario y clave ingresados en los campos del formulario, te conectas a la base de datos, limpias los datos de posible contenido malicioso, realizas la búsqueda en la tabla respectiva de la base de datos y si la consulta devuelve resultados, muestras un mensaje en el que le indicas al usuario que los datos son correctos, caso contrario, le informas que los datos son incorrectos. Esa será la respuesta que reciba la petición asíncrona (Ajax) y que mostrarás en un mensaje de alerta.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: contraseñas
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 10:41.