Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/04/2013, 12:24
Avatar de Nico0601
Nico0601
 
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 12 años, 2 meses
Puntos: 0
Enviar mail con php

Buenas gente, tengo el siguiente form para restaurar la contraseña en caso de olvido. Tengo una funcion que me regenera la clave y me la inserta en la DB(hasta aca todo bien), el tema es que no logro enviarla por mail porque el mail se encuentra en otra tabla y nose como relacionarlas. Intente con otra consulta pero nose si estoy haciendo bien.
En una tabla tengo,
usu_id, usu_cuit, usu_clave
Y en la otra tabla tengo
cont_id,cont_nombre.........usu_cuit
Como puedo hacer esto? Les paso el codigo que tengo
Código PHP:
<?php
$titulo
"Recuperar clave";

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,108111); 
    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(
"conexion.php");

   if (isset(
$_POST["usu_cuit"])) {
    
$usu_cuit $_POST["usu_cuit"];  
    
$query "UPDATE usuarios SET usu_clave='".$p_gen."' WHERE usu_cuit='".$usu_cuit."'"
    
mysql_query($query) or die(mysql_error());
   
   
$email "SELECT cont_email FROM contactos WHERE usu_cuit='".$usu_cuit."'";
   
mysql_query($email) or die(mysql_error());
   
   echo 
"Su nuevo pass ha sido enviado!"
   
$asunto =    'Nuevo pass.';  
   
$mensaje =   "Su nuevo pass es: $p_gen";  
   
$cabeceras 'From: nicolas@*******.org.ar' "\r\n" .  
                         
'Reply-To: nicolas@******.org.ar' "\r\n" .  
                         
'X-Mailer: PHP/' phpversion();  
 
   @
mail($email$asunto$mensaje$cabeceras);   
}  
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <title><?php echo ($titulo); ?></title>
        <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
        <script type="text/javascript">
        function ValidarCuit(cuit) 
        {
        var vec = new Array(10);
        var cuit = formulario.usu_cuit.value;
        esCuit=false;
        cuit_rearmado="";
        errors = ''
        for (i=0; i < cuit.length; i++)
        {   
            caracter=cuit.charAt( i);
            if ( caracter.charCodeAt(0) >= 48 && caracter.charCodeAt(0) <= 57 )
            {
                cuit_rearmado +=caracter;
            }
        }
        cuit=cuit_rearmado;
        if ( cuit.length != 11) {  // si no estan todos los digitos
            esCuit=false;
            errors = 'Cuit < 11 ';
            alert( "CUIT Menor a 11 Caracteres" );
        } else {
            x=i=dv=0;
            // Multiplico los dígitos.
            vec[0] = cuit.charAt(  0) * 5;
            vec[1] = cuit.charAt(  1) * 4;
            vec[2] = cuit.charAt(  2) * 3;
            vec[3] = cuit.charAt(  3) * 2;
            vec[4] = cuit.charAt(  4) * 7;
            vec[5] = cuit.charAt(  5) * 6;
            vec[6] = cuit.charAt(  6) * 5;
            vec[7] = cuit.charAt(  7) * 4;
            vec[8] = cuit.charAt(  8) * 3;
            vec[9] = cuit.charAt(  9) * 2;
                        
            // Suma cada uno de los resultado.
            for( i = 0;i<=9; i++) 
            {
                x += vec[i];
            }
            dv = (11 - (x % 11)) % 11;
            if ( dv == cuit.charAt( 10) )
            {
                esCuit=true;
            }
        }
        if ( !esCuit ) 
        {
            alert( "Verifique la CUIT ingresada" );
            document.formulario.usu_cuit.focus();
            errors = 'Verifique la CUIT ingresada';
            return false;
        }else{
            return true;
        }
        document.MM_returnValue1 = (errors == '');
        }
    </script>
    </head>
    <body>
        <h1><?php echo ($titulo); ?></h1>
        <!-- Inicio del desarrollo -->
        <br />
        <form method="post" action="<?=$_SERVER['PHP_SELF']?>" name="formulario">
        <div><label><strong>CUIT </strong></label>
             <td><input type="text" id="usu_cuit" name="usu_cuit" maxlength="11" /></td>
        </div>
        <input type="submit" id="guardar" value="Restaurar" onclick="return ValidarCuit()" />
        
        </form>
        
    </body>
</html>
__________________
Nico...