header Location et parametre d'url et param dans variable

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

tacata
Nouveau WRInaute
 
Messages: 42
Inscription: Mar Juin 20, 2006 10:55

header Location et parametre d'url et param dans variable

Message le Lun Juin 18, 2007 16:40

bonjour
voici le probleme rencontré

Code: Tout sélectionner
$url = "http://www.dom.tld/page.php?param1=valparam1&param2=valparam2";
header("location: $url");

ou
Code: Tout sélectionner
header("location: "'" . $url ."'");


test avec
Code: Tout sélectionner
$url = "http://www.dom.tld/page.php?param1=valparam1&param2=valparam2";
header("Refresh: 1;url=$url");
echo $url;


resultat
dans les 2 cas affichage de la page
page.php sans les parametres;
echo renvoie bien la chaine dans sa totalité


Code: Tout sélectionner
header("location: http:=www.dom.tld/page.php?param1=valparam1&param2=valparam2");

aucun problème


Une idée, une piste ??

jeroen
WRInaute accro
WRInaute accro
 
Messages: 2384
Inscription: Ven Aoû 30, 2002 13:35

Message le Lun Juin 18, 2007 17:15

Code: Tout sélectionner
header("location: ".$url);

tacata
Nouveau WRInaute
 
Messages: 42
Inscription: Mar Juin 20, 2006 10:55

Message le Lun Juin 18, 2007 20:35

reprenons du début
En faite j'ai été incomplet dans mon explicatipn

je souhiate renvoyé ma page vers l'url récupéré d'un fichier xml

Code: Tout sélectionner
[...]
eregi("<link>(.*)</link>",$items[$i+1], $link);
[...]
header("refresh: 1;url=" .$link[1]);
echo $link[1;

dans ce cas les parametre NE SONT PAS TRANSMIS

Code: Tout sélectionner
[...]
eregi("<link>(.*)</link>",$items[$i+1], $link);
[...]
// Pour test j"affecte une varaible en dure à ma varaible
$link[1] ="http:www.dom.tld/page.php?param1=vp1&param2=vp2"
header("refresh: 1;url=" .$link[1]);
echo $link[1];

dans ce cas les parametre SONT BIEN TRANSMIS

dans les 2 cas l'echo afficHe la chaine dans sont intégralité

hypotese le format de la variable retourné par eregi n'est pas une chaine.
j'ai donc testé avec strval
Code: Tout sélectionner
$url = strval($link[1];
header("refresh: 1;url=" .$url;

sans succè

jeroen
WRInaute accro
WRInaute accro
 
Messages: 2384
Inscription: Ven Aoû 30, 2002 13:35

Message le Lun Juin 18, 2007 21:08

le "?" est encodé ?

jcaron
WRInaute accro
WRInaute accro
 
Messages: 1197
Inscription: Ven Fév 13, 2004 20:33

Message le Mar Juin 19, 2007 10:22

tacata a écrit:
Code: Tout sélectionner
[...]
eregi("<link>(.*)</link>",$items[$i+1], $link);
[...]


C'est pour ça qu'on a inventé des parsers XML. Au minimum les "&" sont encodés en XML ("&amp;"), donc tu vas obtenir une URL encodée en XML, pas ce que tu espères.

tacata a écrit:dans ce cas les parametre NE SONT PAS TRANSMIS


Comment tu détectes qu'ils ne sont pas transmis? En voyant que le script de destination ne les récupère pas? A mon avis il récupère le premier, puis il se perd pour la suite à cause de "amp;" superflus: au lieu d'envoyer sur toto.truc/machin?param1=valeur1&param2=valeur2 ça envoie sur toto.truc/machin?param1=valeur1&amp;param2=valeur, non?

tacata a écrit:dans les 2 cas l'echo afficHe la chaine dans sont intégralité


Elle est toujours complète, et comme c'est du bon HTML, ton browser décode le &amp; donc tu n'y vois que du feu. Regarde le source de la page dans ce cas, tu verras ce qu'il y a vraiment dans ta chaîne.

Jacques.


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités