Publico el codigo de regenerar contraseña validando que el correo exista en la base de datos
Código PHP:
<?php
function gen_pass () {
$i=0;
$password="";
// Aqui colocamos el largo del password
$pw_largo = 8;
// Colocamos el rango de caracteres ASCII para la creacion de el password
$desde_ascii = 50; // "2"
$hasta_ascii = 122; // "z"
// Aqui quitamos caracteres especiales
$no_usar = array (58,59,60,61,62,63,64,73,79,91,92,93,94,95,96,108, 111);
while ($i < $pw_largo) {
mt_srand ((double)microtime() * 1000000);
// limites aleatorios con tabla ASCII
$numero_aleat = mt_rand ($desde_ascii, $hasta_ascii);
if (!in_array ($numero_aleat, $no_usar)) {
$password = $password . chr($numero_aleat);
$i++;
}
}
return $password;
}
// Y aqui ejecutamos la funcion y la guardamos en $p_generado, luego simplemente la cargamos
$p_gen = gen_pass();
?>
<?
include("dbconexion.php");
if (isset($_POST["email"])) {
$email = $_POST["email"];
$query = "UPDATE usuarios SET pass1='".$p_gen."' WHERE email='".$email."'";
$checkemail = mysql_query("SELECT email FROM usuarios WHERE email='$email'");
$email_exist = mysql_num_rows($checkemail);
if ($email_exist==0) {
echo "La cuenta de correo $email no se encuentra en nuestra base de datos, intente nuevamente";
}else{
mysql_query($query) or die(mysql_error());
$asunto = 'Nuevo pass.';
$mensaje = "su nuevo pass es: $p_gen";
$cabeceras = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($email, $asunto, $mensaje, $cabeceras);
echo "Su nuevo pass ha sido enviado!";
}
}
?>
Código PHP:
<?
$usuario = ($_SESSION['s_usuario']);
?>
</p>
<div align="center">
<form id="recupero" name="recupero" method="post" action="cambiopass2.php">
<label></label>
<div align="center">
<label>
<div align="center">Usuario:<br />
<input name="usuario" type="text" id="usuario" value=" <? echo"".$_SESSION['s_usuario'].""; ?> "/>
</div>
</label>
<div align="center"><br />
Contraseña Actual:
<input name="pass2" type="text" id="pass2" size="32" />
Nueva Contraseña
:
<input name="pass3" type="text" id="pass3" size="32" />
</div>
<label>
<input type="submit" name="enviar" id="enviar" value="Enviar" />
</label>
<br />
</div>
</form>
Código PHP:
<?
include("dbconexion.php");
if (isset($_POST["usuario"])) {
$select = mysql_query("SELECT pass1 FROM usuarios WHERE usuario='".$_POST["usuario"]."'");
$pass2 = $_POST["pass2"];
$pass3 = $_POST["pass3"];
$usuario = $_POST["usuario"];
if ($select = $pass3){
echo " $usuario La contraseña $pass1 es igual a la anterior selecciona otra por favor";
}else{
echo "voy y lo cambio, o sea despues pongo el codigo para reemplazarlo aqui";
}
}
?>