Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/10/2003, 09:47
lailuluelo
 
Fecha de Ingreso: mayo-2003
Mensajes: 125
Antigüedad: 21 años
Puntos: 0
Pregunta Truncado de url condicionado a "&"

Hola amigos,

Me está pasando una cosa bastante curiosa que os voy a comentar por si me podeis echar un cable.

1.- Tengo una pagina1.php que contiene una función javascript que se encarga de abrir una pagina2.php con parámetros. Concretamente el código es como sigue:

Código PHP:
<SCRIPT language="Javascript">
function 
abrir_pagina() {
var 
ventana,cadena;
cadena="pagina2.php?dest=" document.form_enviar.destino.value "&orig=" document.form_enviar.origen.value "&url=" document.location.href;
ventana=window.open(cadena,"ventana","width=400,height=110,directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,resizable=no,left=365,top=490,screenX=0,screenY=0");
};
</SCRIPT> 
Hasta aqui nada del otro mundo a no ser por lo que sigue.

2.- En la pagina2.php tomo esos valores y mando un mail. Pues bien, paso tres paramentros (dos direcciones de correo y una url).
Muestro el código y luego comento:

Código PHP:
<?
$destino 
$_GET["dest"];
$origen $_GET["orig"]; 
$url $_GET["url"];

echo 
"url :" $url;

$asunto "xxx"
$cuerpo "yyy ".$origen"yyy\n\n";
$cuerpo .= $url "\n\n";

$cabecera "FROM: " $origen "<[email protected]>";

mail($destino,$asunto,$cuerpo,$cabecera); 
?>
El caso es que cuando esa url solo lleva un parámetro al pintarla me da la url buena, sin embargo, cuando lleva mas de un parametro (separado por &), me omite ese segundo parámetro. Es como si al encontrarse un "&" no tomara en cuenta ni el propio caracter ni lo que viene detras, truncandolo.

Me explico:

Caso en el que funciona:

En la pagina1.php y mediante href asigno a la variable url lo siguiente:

http://www.dominio.com/pagina.php?id1=10

En este caso al pintar la variable en la pagina2.php no me trunca nada (solo paso un parametro y no esta en la cadena "&")

Caso en el que NO funciona:

En la pagina1.php y mediante href asigno a la variable url lo siguiente:

http://www.dominio.com/pagina.php?id1=10&id2=20

En este caso al pintar la variable en la pagina2.php TRUNCA ( paso más de un parametro separado por "&")

¿Podría estar el problema en $url = $_GET["url"];?

Un saludo y gracias por vuestra ayuda,
__________________
Lailuluelo
El error está en lo obvio