Estoy probando mi sistema de activación de usuario por correo electrónico. Ya conseguí que funcione el envio del mail
![sonriente](http://static.forosdelweb.com/fdwtheme/images/smilies/smile.png)
![enojado](http://static.forosdelweb.com/fdwtheme/images/smilies/enojado.png)
Cita:
Si se pincha en el enlace da error de página no válida. El texto del mensaje de correo es este:1848139
Cita:
¿Alguna idea? yo estoy cansado Hola, para activar tu cuenta haz click en el siguiente link: "http://localhost/login/activacion.php?codigo=1848139 O copia el siguiente link en la barra de direcciones de tu navegador: "http://localhost/login/activacion.php?codigo=1848139
![dormir](http://static.forosdelweb.com/fdwtheme/images/smilies/durmiendo.png)
Muchísimas gracias por la ayuda,
J.
Aquí os dejo el código del mailer
Código PHP:
//Envio correo de activación de usuario
//Generamos un código temporal aleatorio para la activación y una fecha para la validez del periodo
$Random_CODE = rand(1000,9999);
$idPER=$selectPKper;
$codigoACT=$Random_CODE.$idPER;
$fecha=strftime( "%Y-%m-%d:%H:%M:%S", time() );
echo $fecha;
$queryCODAct="UPDATE personas SET `codigoACT`=$codigoACT,`fecha`='$fecha' WHERE `idPrimaryPER`=$idPER";
$resultCODAct=mysql_query($queryCODAct);
// Cierro la conexión
mysql_close($connection);
//Defino las variables del mensaje de correo
$message=$cuerpo;
$remitente='From: [email protected]';
$destinatario =$mailPersona;
$asunto = "IMPORTANTE: Activación de tu cuenta";
$cuerpo = 'Hola, para activar tu cuenta haz click en el siguiente link: '."\n".'
<a href=""http://localhost/login/activacion.php?codigo='.$codigoACT.'">"http://localhost/login/activacion.php?codigo='.$codigoACT.'</a>
O copia el siguiente link en la barra de direcciones de tu navegador:
'."\n".'
"http://localhost/login/activacion.php?codigo='.$codigoACT;
//para el envío en formato HTML
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
//dirección del remitente
$headers .= "From: Mailer <[email protected]>\r\n";
//dirección de respuesta, si queremos que sea distinta que la del remitente
$headers .= "Reply-To: [email protected]\r\n";
//ruta del mensaje desde origen a destino
$headers .= "Return-path: [email protected]\r\n";
//direcciones que recibián copia
$headers .= "Cc: [email protected]\r\n";
//direcciones que recibirán copia oculta
$headers .= "Bcc: [email protected]\r\n";
mail($destinatario,$asunto,$cuerpo,$headers)
Código PHP:
<?php session_start();
//Activamos el ususario
//Recuperamos el código de activación y depuramos frente a SQLInjection
$codigoACT = stripslashes($_GET['codigo']);
echo $codigoACT;
// Llamo las variables de conexión a DB
require_once ('../recor/LoginDB.php');
// Abro conexión y selecciono la base de datos
$connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!");
mysql_select_db($db) or die ("Unable to select database!");
//Buscamos el usuario correspondiente al código de activacion
$sqlIdPK ="SELECT `idPrimaryPER` FROM `personas` WHERE `codigoACT`=$codigoACT";
$idPK=`idPrimaryPER`;
echo ($idPK);
?>