26/12/2009, 15:52
|
| | Fecha de Ingreso: septiembre-2008
Mensajes: 67
Antigüedad: 16 años, 4 meses 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á 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);
}
}
}
}
?> |