Estoy probando mi sistema de activación de usuario por correo electrónico. Ya conseguí que funcione el envio del mail pero al pegar el enlace de activación, aparecen unos caracteres especiales que, en principio, yo no he enviado (no me consta). Loscarácteres en cuestión son ï>>¿ que aparecen al final del código. He intentado con una función de eliminación de caracteres pero no consigo que desaparezcan y la he quitado.
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 y lo dejo por hoyHola, 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
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);
?>