Berberber Posté 9 Octobre 2004 Partager Posté 9 Octobre 2004 Bonjour tout le monde, le probleme que je vais exposer n'est selon moi pas très facile à resoudre, mais je suis confiant . J'ai deux serveurs. premier serveur j'attribue une variable $var="toto"; ensuite j'inclus le deuxieme serveur, où est le script qui va travailler avec $toto. include 'http://serveur2/script.php'; sur celui-ci echo "$toto"; me donne : rien du tout, la variable n'est pas transmise. j'abandonne cette possibilté, je veux faire passer $toto, en get ce qui me donne include 'http://serveur2/script.php?toto=$toto'; tres bien, toto s'affiche mais, cela ne marche que si mon toto est petit. Imaginons que toto fasse 200 caracteres (ou plus), que faire de toto pour qu'il arrive sur le deuxieme serveur ? Merci de votre aide, j'ai fait pas mal de recherches sans trouver. Lien vers le commentaire Partager sur d’autres sites More sharing options...
bigornot Posté 9 Octobre 2004 Partager Posté 9 Octobre 2004 oulahaha ! un peu de révision ! quand tu fais $var = "toto"; $toto n'existe pas ! par contre, $var existe et contient le mot : toto ensuite, un include se fait comme ça : include("lapage.extension"); et, pour faire un echo sur une variable, on ne met pas le guillements : echo $var; de plus, comme tu le sais surement , php est un langage conté serveur, donc quand tu inclus la page qui contient une variable, tu fais une requete au serveur de la page, qui demande à EasyPhp (par exemple) de lui interpreter cette page (en locurence, script.php) , et EasyPhp va donc l'interpreter en TRANSFORMANT ta page .php avec des balises <?php et ?> en code html ( il transformera par exemple lecode suivant : <html><head></head><body><?php$var ="toto";echo $var; ?> </body></html> en <html><head></head><body>toto</body></html> donc, , si tu inclus un script EXTERIEUR au serveur contenant une variable, tu n'auras pas cette variable variables ... /* Ps : le script <?php $var = "toto"; ?> inclus de l'exterieur ne donnera rien */ mais tu peux inclure des scripts autres ... par exemple, si maintenant tu inclus http:/pareil.com/script.php?var2=blabla et que, du serveur pareil.com, tu changes ton script en ça : <html><head></head><body><?phpecho $var2; ?> </body></html> et bien ça te donnera ça en html : <html><head></head><body>blabla</body></html> voilà ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Berberber Posté 9 Octobre 2004 Auteur Partager Posté 9 Octobre 2004 Merci pour le cours de php, mais je n'ai pas l'impression que tu reponds à ma question. D'ailleurs j'ai moi même expliqué dans ma question que j'avais testé l'envoi des variables en GET. Seulement celles-ci sont limitées par la taille. Donc la question reste ouverte. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Berberber Posté 9 Octobre 2004 Auteur Partager Posté 9 Octobre 2004 Aparemment, on ne peut qu'utiliser cURL pour faire cela, en envoyant les données en POST..... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 9 Octobre 2004 Partager Posté 9 Octobre 2004 Mais.. avec POST ca doit marcher, tu n'as pas essayé ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dash Posté 9 Octobre 2004 Partager Posté 9 Octobre 2004 tres bien, toto s'affiche mais, cela ne marche que si mon toto est petit. Imaginons que toto fasse 200 caracteres (ou plus), que faire de toto pour qu'il arrive sur le deuxieme serveur ? <{POST_SNAPBACK}> => Suis-je limiter à 255 caractères par la méthode GET Si vous avez acces a la configuration de votre serveur Apache, et si vous voulez modifier la taille limite du volume autorise par la methode GET utilisez la directive LimitRequestLine Si vous devez faire communiquer 2 serveurs distants, pourquoi ne pas utilisez un format d'echange (xml, fichier texte, ...) ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Berberber Posté 9 Octobre 2004 Auteur Partager Posté 9 Octobre 2004 $postData[ 'addmail' ] = $addmail;$postData[ 'addmail2' ] = $addmail2;$url="http://ita***berb********r/l**y.php";$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url ); //seems no need to tell it enctype='multipart/data' it already knowscurl_setopt($ch, CURLOPT_POSTFIELDS, $postData );$response = curl_exec( $ch ); voilà la solution que j'ai utilisée Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 11 Octobre 2004 Partager Posté 11 Octobre 2004 Non, il me semble que l'on peut, de la meme facon que l'on demande les entetes d'un site, envoyer des données type POST ou GET, avec la commande fputs, il me semble. Tu as ici : http://66.102.9.104/search?q=cache:YLSjYg_...get+fputs&hl=fr un bon exemple de ce qui peut être fait. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant