Foros del Web » Programando para Internet » PHP »

Mail de PHP retorna valor por URL

Estas en el tema de Mail de PHP retorna valor por URL en el foro de PHP en Foros del Web. Buenas tardes: Tengo este código que envía un mail el cual funciona bien: include_once('../includes/procs.php'); $empresa="Empresa de Prueba"; $ss=4; $pp=2; $voya="/negocio/publicacion".$ss."_consulta.php?p=$pp"; $refe="<a href='".sitio_empresa().$voya."'>Ir a la publicacion ...
  #1 (permalink)  
Antiguo 06/02/2013, 13:51
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años, 6 meses
Puntos: 3
Mail de PHP retorna valor por URL

Buenas tardes:


Tengo este código que envía un mail el cual funciona bien:

include_once('../includes/procs.php');
$empresa="Empresa de Prueba";
$ss=4;
$pp=2;
$voya="/negocio/publicacion".$ss."_consulta.php?p=$pp";
$refe="<a href='".sitio_empresa().$voya."'>Ir a la publicacion (".$pp.")</a>";
$cuerpo_del_mensaje='<img src='.logo_empresa().' alt="aa" width="107" height="57" border="0" />';
$cuerpo_del_mensaje.="<br>";
$cuerpo_del_mensaje.="<br>";
$cuerpo_del_mensaje.="Estimado Señor";
$cuerpo_del_mensaje.="<br>";
$cuerpo_del_mensaje.=" Le hicieron la siguiente pregunta ";
$cuerpo_del_mensaje.="<br>";
$cuerpo_del_mensaje.="<b>"." Pregunta "."</b>";
$cuerpo_del_mensaje.="<br>";
$cuerpo_del_mensaje.=$refe;
$cuerpo_del_mensaje.="<br>";
$cuerpo_del_mensaje.="<br>";
$cuerpo_del_mensaje.="Gracias por Elegirnos";
$cuerpo_del_mensaje.="<br>";
$cuerpo_del_mensaje.="<b>"."$empresa"."</b>";
$headers = "MIME-Version: 1.0\r\n"; // garantizar una exhibicion correcta de los caracteres
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; // codificacion de caracteres Unicode (Usado en todos los países)
$headers .= "From: $empresa <".mail_empresa_noreply().">\n"; // remitente
$headers .= "Reply-To: mail_empresa_noreply()\n"; // responde a
$xv=mail("[email protected]","Te hicieron una pregunta por "."Titulo del Mail",wordwrap($cuerpo_del_mensaje,70, " ", true),$headers);


Al volver a la página desde el mail en "Ir a la publicacion" pasa lo siguiente:

en vez de mandar a la URL:
http://www.empresa.com.ar/negocio/pu...nsulta.php?p=2
manda esto:
http://www.empresa.com.ar/negocio/pu...lta.php?p%20=2

es decir le agrega los caracteres "%20" entre el "?p" y el "=2"

La verdad no se porque.

Les agradecería si pueden ayudarme
  #2 (permalink)  
Antiguo 06/02/2013, 13:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Mail de PHP retorna valor por URL

¿Estas seguro que la variable $pp no tiene un espacio?

Puedes probar aplicar trim() sobre la variable, y si lo sigue haciendo es probable que el cliente de correo lo haga en cuyo caso no puedes hacer mucho, a lo mejor usar una URL directa y re-escribirla usando .htaccess para extraer la publicación que quieres.

Saludos.
  #3 (permalink)  
Antiguo 06/02/2013, 14:24
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: Mail de PHP retorna valor por URL

GatorV, le puse el trim() y no hay caso, ejemplo:

Si le cambio el nombre del campo por "?uu=".trim($pp)" manda "?u%20u=2", después del la primera "u" le agrega esos caracteres y pone la segunda "u".

Mi pregunta es:
Porque manda esos caracteres raros??, siempre son los mismos??.
Si siempre son los mismos lo podré solucionar con un strtran reemplazándolos por ''??

Gracias por tu ayuda
  #4 (permalink)  
Antiguo 06/02/2013, 15:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Mail de PHP retorna valor por URL

%20 es un espacio, por lo que es lo que te decía de que seguramente existe un espacio intermedio que no haz visto, y si se siguen reemplazando es el mismo cliente de correo el que lo hace, y ahí no puedes hacer mucho.
  #5 (permalink)  
Antiguo 06/02/2013, 15:35
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: Mail de PHP retorna valor por URL

Si hay un espacio yo no lo veo, la falla entonces debe ser del cliente que esta poniéndolo, por las dudas voy a tratar de reemplazar esos caracteres por nada en esa parte de la URL y te comento.

Muchas Gracias
  #6 (permalink)  
Antiguo 06/02/2013, 15:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Mail de PHP retorna valor por URL

Ok, igual como te digo intenta con una URL Amigable, algo como: http://host/uu/2 y usando mod_rewrite rescatas los parámetros de regreso a tu script PHP.

Etiquetas: html, mail, retorna, url, valor
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 15:25.