Foros del Web » Programando para Internet » PHP »

Problemas con carácteres raros (con ESTOS carácteres raros)

Estas en el tema de Problemas con carácteres raros (con ESTOS carácteres raros) en el foro de PHP en Foros del Web. Hola: 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 ...
  #1 (permalink)  
Antiguo 22/01/2011, 18:41
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 14 años, 2 meses
Puntos: 4
Problemas con carácteres raros (con ESTOS carácteres raros)

Hola:

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:
1848139
Si se pincha en el enlace da error de página no válida. El texto del mensaje de correo es este:

Cita:
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
¿Alguna idea? yo estoy cansado y lo dejo por hoy

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
Y aqui lo que he iniciado de la activación (falta bastante, lo sé):

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);
     
?>
  #2 (permalink)  
Antiguo 22/01/2011, 19:08
Avatar de newboy_master  
Fecha de Ingreso: enero-2008
Ubicación: Granada
Mensajes: 882
Antigüedad: 16 años, 10 meses
Puntos: 46
Respuesta: Problemas con carácteres raros (con ESTOS carácteres raros)

Creo recordar que me pasó algo similar, aunque parezca una tontería, guarda los archivos mediante bloc de notas. Los editores wysiwyg a veces incluyen código que no vemos, también asegúrate que después del <?php no tengas espacios, yo lo dejaría así:

Código PHP:
Ver original
  1. <?php
  2. // Tu code
  3. ?>

Aunque me declino por lo de guardarlo con el bloc de notas al codificarlo de otra forma.

Salu2.
__________________
@jslirola - Programador Web Freelance.
  #3 (permalink)  
Antiguo 22/01/2011, 19:54
 
Fecha de Ingreso: noviembre-2010
Mensajes: 47
Antigüedad: 14 años
Puntos: 2
Respuesta: Problemas con carácteres raros (con ESTOS carácteres raros)

Podrías intentar hacer trim a la variable del código, la verdad no sé si funcione me parece extraño que esos caracteres aparezcan, lo que si te recomiendo es que uses la codificación UTF-8

Saludos
__________________
www.exploralarevista.com
  #4 (permalink)  
Antiguo 22/01/2011, 20:37
Avatar de ecarlevaro  
Fecha de Ingreso: octubre-2010
Ubicación: Paraná, Argentina
Mensajes: 80
Antigüedad: 14 años, 1 mes
Puntos: 13
Respuesta: Problemas con carácteres raros (con ESTOS carácteres raros)

Apoyo totalmente la idea de pqek de usar UTF-8 ¿ya probaste la función urlencode()?

Etiquetas: raros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:52.