Primero que todo necesitas servicios de SMTP y que la funcion mail en php este habilitada, si cumples con estos requisitos ya lo que queda es facil.
Formulario HTML
Código HTML:
Ver original<form action="send.php" method="post"> Nombre:
<input type="text" name="nombre" /><br />E-mail:
<input type="text" name="email" /> <br />Password:
<input type="password" name="pass" /><br /><br /><input type="submit" value="Enviar" />
El archivo que recibe la informacion send.php seria asi:
Código PHP:
<?php
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$pass = $_POST['pass'];
if($nombre==NULL|$email==NULL|$pass==NULL){
echo "Todos los campos son obligatorios";
}
else{
$codigo_activacion = md5(rand(100,1000)."-".date("YmdHis"));
mysql_query("INSERT INTO usuarios VALUES(NULL,'$nombre','$email',PASSWORD('$pass'),'$codigo_activacion')") or die("Error al guardar el usuario");
$html = "Hola ".$nombre."<br />Gracias por registrarse en sitioweb.com, solo falta un paso activar su cuenta ingresa al liguiente link:<br />
http://sitioweb.com/activar.php?email=".$email."&cda=".$codigo_activacion;
$head = "Content-type: text/html\r\n";
mail($email,"Confirma tu cuenta",$html,$head);
}
?>
En el codigo anterior se guarda en la base de datos el usuario con el codigo de activacion, la cuenta esta activa cuando el codigo de activacion es nulo.
EL siguiente archivo es activar.php
Código PHP:
<?php
$cda = $_GET['cda'];
$email = $_GET['email'];
if($cda!=NULL&&$email!=NULL){
$cons = mysql_query("SELECT * FROM usuarios WHERE email='$email'");
if(mysql_num_rows($cons)==0){
echo "El email no esta registrado";
}
else{
$row = mysql_fetch_array($cons);
if($row['cda']==$cda){
mysql_query("update usuarios set cda=NULL where email='$email'");
mail($email,"Cuenta activada","Su cuenta ha sido activada");
mail("[email protected]","Usuario registrado","Se registro y activo el usuario ".$email);
echo "CUenta activa.";
}
}
}
?>
Algun error porfavor reportalo que esto lo hice aqui de rapidez.
Si te sirve dilo a ver.
Suerte pues.