Ver Mensaje Individual
  #6 (permalink)  
Antiguo 25/10/2013, 12:55
awik
 
Fecha de Ingreso: febrero-2013
Mensajes: 78
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Cambio de Contraseña

Buenas , yo ya tengo mi sistema para recuperar contraseñas

asi q lo comparto :


y sobre lo de que quieres que al pincharle en el enlace del correo se te habra tu página cambiandole automáticamente a otra sobre lo que quieras que al pincharle al inlace ahorita q lo pienso lo veo simple , solamente cuando pongas el email , en tu código php sacas el nick o tu nombre del usuario que este registrado con dicho correo y mandas el enlace de tu página para que aparesca en tu correo pero le agregas el nick

osea q si pusiste un correo que SI existe entonces sacaras los datos de dicha persona

$email = $_POST['email'];

$sq = "SELECT * FROM usuarios WHERE email = '$email' ";
require("connectar.php"); <--- aqui llamas al archivo para que conecte con tu BD
$consu = mysql_query($sq);

while($row = mysql_fetch_assoc($consu))
{

$nick = $row['nick'];
}

entonces cuando manes el link
por ejemplo si tu página es : www.holaa.com

le envias el nick que sacaste respecto al correo
y envias la página y claro el archivo donde cambiara la contraseña automáticamente
supongamos que en el archivo para cambiar tu contra se llame cambiarcontra.php

entonces mandas el link con el nick en la url, osea asi

www.holaa.com/cambiarcontra.php?nick=<?php echo $Nick ?>

y entonces cuando vayas a tu correo y habras el link
se te habrira tu página

ahora en el archivo cambiarcontra.php chapas por GET el nick
y verificas que existe en la BD

y si existe , pasas a una parte donde automáticamente se te genere una contraseña nueva
(eso puedes buscarlo por internet , algún código que te genere una contraseña neva )
y luego haces un UPDATE según al nick que hayas recibido por GET

$nick = $_GET['nick'];
y actualizas la contraseña de ese nick

$sql = "UPDATE usuarios SET contra = 'aqui iria la nueva contra' WHERE nick = '$nick' ";

y listo lo muestras en un mensaje ahi mismo

que diga por ejemplo :

´´Su contraseña ah sido actualizada a esta : 000000
ya puede loguearse en la página y poder modificar su contraseña´´







aqui te paso mi código : y como deberias hacer :


Código PHP:
Ver original
  1. <?php
  2.  
  3. function verificar() {
  4.    
  5.     $email = $_POST['email'];
  6.    
  7.    
  8.     $reqlen   = strlen($email);
  9.    
  10.      if ($reqlen > 0)  {
  11.      
  12.    
  13.        $ssql = ("SELECT * FROM usuarios WHERE Email ='$email'");
  14.        
  15.        require("conectar.php");
  16.        $rs = mysql_query($ssql);
  17.        
  18.  
  19. $emailusuario=$_POST['email'];
  20.  
  21.        if (mysql_num_rows($rs)==1){
  22.      
  23.        $sql = ("SELECT  Nick FROM usuarios WHERE Email='$email'");
  24.        $row=mysql_fetch_assoc($rs);
  25.          $nombreusuario=$row['Nick'];
  26.      
  27.        
  28.        // enviamos el email de recuperacion
  29. $headers = "MIME-Version: 1.0\r\n";
  30. $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
  31. mail($emailusuario, "Recuperación", "www.holaa.com/cambiarcontra.php?nick=$nombreusuario", $headers);
  32.  
  33. header("Refresh: 4; URL=http://www.holaa.com");
  34.     ?>
  35. <script type="text/javascript">
  36.  
  37.    
  38.    
  39.         jAlert("Se te envio un correo con tus datos").validate();
  40.        
  41.    
  42.    
  43. </script>
  44.  
  45. <?php
  46.  
  47.    
  48. }
  49. else
  50. {
  51.      ?>
  52.       <script type="text/javascript">
  53.  
  54.    
  55.    
  56.         jAlert("Datos incorrectos , este mail no esta registrado").validate();
  57.        
  58.    
  59.    
  60. </script>
  61.  
  62.  
  63.      <?php
  64.        }
  65.        }
  66.        
  67.        else
  68.        {
  69.        ?>
  70.        <script type="text/javascript">
  71.  
  72.    
  73.    
  74.         jAlert("Por favor llena el campo o no podremos ayudarte").validate();
  75.        
  76.    
  77.    
  78. </script>
  79. <?php
  80.       }
  81.          }
  82.          
  83.          ?>
  84.          
  85.     <div class="inicio">
  86.     <center><form action="" method="post" class="login">
  87.    
  88.     <div><label>Email&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label><input name="email" type="text"></div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</center>
  89.    
  90.     <center><input name="sesionxd" type="submit" value="Enviar" id="enviar" class="button"></center>
  91.    
  92.     <p></p>
  93.    
  94.     <center><a href="index.html">Volver</a></center>
  95.     </div>
  96.    
  97.          
  98.        <?php
  99.    
  100.   if(isset($_POST['sesionxd'])) {
  101.  
  102.   verificar();
  103.  
  104.    
  105. }
  106. ?>