Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/12/2006, 18:09
Avatar de urgido
urgido
 
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Re: Activacion de Cuenta por Mail

se me ocurre algo mejor y seguro... una base don cuatro campos: email, key y confirmado.

Suponiendo que el usuario apenas se registra entonces tu ingresas los valores se la siguiente forma:

email = [email protected]
key= $num = rand(1000000000, 9999999999) // aqui va un numero aleatorio si kieres combinar numeros/letras debes usar una función como esta
confirmado = 0

mail("[email protected]", "Confirmación", $body, $headers);

¿que irá en $body?
bueno pues ahi es donde debes incluir tu mensaje, el hipervinculo de activación y la variable que haga referencia a la función rand() que he puesto arriba en este caso puede ser $key. en los headers pues ya los abes FROM: blablabla.

ejemplo:

Para activar tu cuenta da un click en el siguiente link:;
http://www.misitio.com/confirmar.php?email=$email&vkey=$key
lo que se transforma a
http://www.misitio.com/confirmar.php...key=2654128014

Ahora bien esto es como ya he dicho cuando el usuario apenas se ha suscrito, cuando al usuario ahora le toca como verificar el resultado y es el turno de $_GET...

en tu archivo confirmar.php irá algo parecido
$_GET[email]=$email;
$_GET[key]=$key;

consultamos
$consulta="select * from usuarios where email=$email and key=$key";
mysql_query($consulta);

if($consulta)
echo "Su cuenta ha sido confirmada";
mysql_query("update confirmar set confirmar=1 where email=$email and key=$key");
else
echo "Lo sentimos pero el email o la clave de confirmación no coinciden ó no existen.";

Ahora bien has aquí irá todo bien pero ¿que pasa si alguien duplica la cuenta de correo? ¿que pasa si no se confirma la cuenta en 24hrs? pues ese ya es tu trabajo, recuerda que el código lo hice "a mano alzada" debes modificarlo y ponerle las comillas, puede haber errores pero son lógicos.

Saludos
__________________
Hospedaje Web al mejor costo!