Gracias por contestar oso96_2000, mira el form.php no es excesivamente amplio así que lo pongo un pelin resumido pero lo pongo tal cual, porque se que tiene que ser una tonteria pequeña.
Respecto de lo la contraseña encriptada, no era consciente de que estaba generando dos claves distintas!!! Menos mal que me lo has dicho!! Muchas gracias.
Código PHP:
<?php
include('funcion.php');
$contrasena= SetRandomPassword();
$encriptada=md5(SetRandomPassword());
$emailValue = "";
$existEmail = "";
$existeE = 1;
//Validacion de datos enviados
if(isset($_POST['send'])){
if(!validateExistMail($_POST['email']))
$existEmail = "error";
//Guardo valores para que no tenga que reescribirlos
$emailValue = $_POST['email'];
//Compruebo si todo ha ido bien
if($existEmail == "error"){
$existeE = 0;
}
if (!$existeE){
$status = 0;
}
}?>
LA PARTE DEL FORMULARIO.
<?php if(!isset($status)): ?>
<form id="recoveryForm" name="recoveryForm" method="post" action="recover.php">
<table cellspacing="0">
<tr>
<td><label for="email">Correo electrónico <?php
if ($existEmail == "error"):
echo "Este correo ya existe";
else:
echo "Agrega un correo valido";
endif; ?></label></td>
<td><input name="email" type="text" id="email" value="<?php echo $emailValue ?>"/></td>
</tr>
<td></td>
<td><input class="boton" type="submit" name="send" value="Recordar contraseña"/></td>
</tr>
</table>
</form>
<?php else: ?>
<?php
if(insertarNuevaClave($encriptada, $emailValue)):?>
<h1>Petición e contraseña realizada satisfactoriamente.</h1>
<?php enviarContrasena($emailValue,$contrasena); ?
<?php else: ?>
<h1 style="font-color: red">Error...Por favor intentalo un poco mas tarde.</h1>
<?php endif; ?>
<?php endif; ?>
Lo que no he puesto antes en el archivo funciones es a la funcion que revisa si existe:
Código PHP:
function validateExistMail($mail){
$conn = conectar();
$sql= "select id_usuario from usuarios where email = '$mail'";
$resultado=mysql_query($sql,$conn) or die (mysql_error());
if (mysql_num_rows($resultado)>0)
return false;
else
return true;
}
// lo tengo un poco raro porque es una funcion modificada mal, si existe usuario es false, osea que en el form si el email da 'error' en realidad es bueno, es que existe el correo.