Version complète: sur le forum Webmaster Hub : Inclure un script distant
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
lorik
Bonjour,

Au menu aujourd'hui, 'travailler avec des scripts distants' !

J'ai un site A, qui doit appeller un script distant B (autre serveur et autre nom de domaine).

Je suis passé par un <img src monscriptB>, et ma fois, ça baigne !. Sauf que jusqu'ici, mon <imgsrc> etait placé dans une page HTML.

Et aujourd'hui, je voudrais faire la même chose à partir d'une page 100% php, sans html.
Et là, mon <img src> ne passe pas (même en le plaçant hors des <?php ?>).

Qu'a cela ne tienne, on ne va pas se laisser abattre pour si peu ! je tente de passer par un
CODE
include ("http://www.domaineB/scriptB.php?paramettres">


Et là, erreur serveur :

CODE
Warning: main(): URL file-access is disabled in the server configuration in /home/http...


Je suis pas sur, mais je pense que la config de php ne doit pas permettre d'appeller de script. j'attends la réponse de mon hebergeur, puisque je n'ai pas accès au phpinfo, mais je me doute de la réponse.

D'ou ma question :
<img src...> : marche pô !
include... : marche pô !

Quelqu'un connaitrait un truc qui marche ?

Par avance merci.
sgaiotti
Bonjour

As tu essayer de faire comme suit ?

CODE
<?php

echo "<img src .....>";


?>
lorik
wub.gif wub.gif wub.gif

Honte sur moi, c'était si simple...

Merci.
lorik
Heu, finalement, pas si simple !

Effectivement ça marche.... à peu prèt ! En fait, la plupart du temps, avec l'echo, ça me bouffe une partie des variables passées dans le <img src...>.

Pas tout le temps, mais souvent, alors que c'est toujours la même chaine qui est passée. Seuls changent 2 variables($ca_reel et $var_uxp), mais qui restent de la même longueur et du même type...

CODE
$tag="<img height=1 width=1 border=0 src='http://www.monsite.com/dossiers/test.php?id=123&action=e6216de2d79832a9fb2baf3b9e3b9785&ca=$ca_reel&uxp=$var_uxp'>";

echo $tag;


Ca coupe après '..&ca="

L'url reste assez courte, et ce qui est bizarre, c'est que ça ne se produit pas quand j'utilise la version html du tag.

IMSTP5.gif
TheRec
A tout hasard, essaie de remplace les & pas l'entité html : &amp;
CODE
$tag="<img height=1 width=1 border=0 src='http://www.monsite.com/dossiers/test.php?id=123&amp;action=e6216de2d79832a9fb2baf3b9e3b9785&amp;ca=$ca_reel&amp;uxp=$var_uxp'>";

echo $tag;


J'ai peu d'expéricence sur ce genre d'inclusion de script distant...
lorik
Merci TheRec... mais pas mieux !

Par contre j'ai essayé un truc qui semble marcher (mais il me faut plus de résultats pour être sur...) :

Il semblerai que ce soit la construction de mon url qui pose problème :

Au lieu de :
CODE
$tag="<img height=1 width=1 border=0 src='http://www.monsite.com/dossiers/test.php?id=123&action=e6216de2d79832a9fb2baf3b9e3b9785&ca=$ca_reel&uxp=$var_uxp'>";

echo $tag;


J'ai essayé :
CODE
$tag="<img height=1 width=1 border=0 src='http://www.monsite.com/dossiers/test.php?id=123&action=e6216de2d79832a9fb2baf3b9e3b9785&ca=".$ca_reel."&uxp=".$var_uxp."'>";
echo $tag;


Sur mes tests ça marche, sans que je sache pourquoi : Je verifiais deja le contenu de $tag, et cela me semblait correct.

Je confirme dès que possible (mais vous etes pas pressés je suppose ? tongue.gif )
Dan
Il est logique que cela marche, parce que les simples quotes utilisées dans ta requête précédente empêchaient Php d'interpréter les variables. Tu perdais donc leur valeur wink.gif

Dan
lorik
Merci Dan, mais... non : Comme je l'ai dit je vérifiais la valeur de $tag avant le echo, et le résultat était correct.

Je pense à autre chose : La page dans laquelle figure le 'echo $tag' est un script php qui n'envoie rien au navigateur : Il est lui mémé appellé par une page X, fait son boulot, mais rien n'est affiché : Il redirige ensuite sur une page 'normale'..

Dans ce cas, comment se comporte un "echo" ?

Parce que mes tests sont fait avec une page qui s'affche et ça marche. Mais pas avec cette page 'intermediaire'.
lorik
Bonjour, bonjour,

Je confirme que le problème doit se situer dans le echo :

Lorsque ma page dans laquelle est inséré le 'echo' est appellée via un 'lien caché', (donc ne s'affiche pas), le tag dans le 'echo' ne marche pas.

Lorsque j'appele directement cette même page, en tapant l'url dans la barre d'adresse, le navigateur m'affiche une page blanche (normal), mais dans ce cas, le tag fonctionne.

J'en déduit que le 'echo' ne marche pas si rien n'est envoyé au navigateur. Comme 'echo' est interprété par php et pas par le navigateur, cela pourrait provenir de la technique d'appel de la page dans laquelle figure le echo :

En fait cette page est appelée par un organisme de paiement pour confirmer au site l'acceptation d'un paiement. A aucun moment dans la procédure il n'est prévu un affichage. Et je ne sait pas (mais je peux savoir) en quel language est ecrit le script qui appele ma page.

Quelqu'un aurait déja vu ça ? Y a t il une alternatique à écho ? je vais essayer avec print, mais je pense que le résultat sera le même.

Merci de votre aide, je patauge grave wacko.gif
Dnegel666
slt,

juste une petite question, qu'est-ce que te rapporte l'url scriptB.php?paramettres dans l'include, c'est peut être de là que viens le pb ?
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.