Ver Mensaje Individual
  #3 (permalink)  
Antiguo 01/08/2011, 11:40
follow
 
Fecha de Ingreso: marzo-2011
Mensajes: 88
Antigüedad: 13 años, 7 meses
Puntos: 17
Respuesta: Pequeño error codigo - Contraseña aleatoria enviada por email

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');

$contrasenaSetRandomPassword();

$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.