Ver Mensaje Individual
 
Antiguo 26/12/2009, 15:52
h3greed
 
Fecha de Ingreso: septiembre-2008
Mensajes: 67
Antigüedad: 18 años
Puntos: 0
Respuesta: ¿Como genero un email de confirmacion de registro en php?

bueno ya lo hice cambie algunas cosas pero nada en vez de mail con link de confirmacion se le envia la pass generada por un random

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["usuario"])) {
   
$usuario = $_POST["usuario"];
   
$email = $_POST["email"];
   
$responsable = $_POST["responsable"];
   
$telefono = $_POST["telefono"];
   if(
$usuario==NULL|$email==NULL|$responsable==NULL|$telefono==NULL) {
   echo 
"un campo est&aacute; vacio.";
   }else{
   
$usuario=str_replace(" ","",$usuario);
   
$email=str_replace(" ","",$email);
   
$usuario=str_replace("%20","",$usuario);// Quitar posiblesespacios escapados
   
$email=str_replace("%20","",$email);
   
$usuario=addslashes($usuario);// add slashes to stop hacking
   
$email=addslashes($email);
   
$minuser_len = 6; //username minimum length
   
if (strlen($usuario) < $minuser_len || strlen($email) < $minemail_len){
   echo 
"El usuario debe tener como mínimo 6 digitos";
   }else{
   
$checkuser = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$usuario'");
   
$username_exist = mysql_num_rows($checkuser);
   
$checkemail = mysql_query("SELECT email FROM usuarios WHERE email='$email'");
   
$email_exist = mysql_num_rows($checkemail);
   if (
$email_exist>0|$usuario_exist>0) {
   echo 
"EL nombre de usuario $usuario o la cuenta de correo $email estan ya en uso";
   }else{
   
$query = "INSERT INTO usuarios (usuario, email, responsable, telefono, pass1) VALUES('$usuario','$email','$responsable','$telefono','$p_gen')";
   
mysql_query($query) or die(mysql_error());
   echo 
"El usuario $usuario se ha generado correctamente con la contraseña le estará llegando al correo brindado por usted";
   
$email = $_POST['email']; 
   
$usuario = $_POST['usuario'];
   
$asunto =    'Confirmacion de registro.'; 
   
$mensaje =   "El registro se ha realizado correctamente tu password es $p_gen"; 
   
$cabeceras = 'From: [email protected]' . "\r\n" . 
                
'Reply-To: [email protected]' . "\r\n" . 
                
'X-Mailer: PHP/' . phpversion(); 

   
mail($email, $asunto, $mensaje, $cabeceras);  
    }
    }
    }
    }
    
?>