Script Php distant : cmt recevoir la réponse.

Discussion dans 'Administration d'un site Web' créé par sultan, 27 Janvier 2005.

  1. sultan
    sultan WRInaute discret
    Inscrit:
    29 Février 2004
    Messages:
    52
    J'aime reçus:
    0
    Bonjour,

    j'ai un problème et je sais pas trop dans quelle direction partir.
    Sur le site A, j'ai un script qui a besoin de données stockées dans la base de donnée du site B. Il ne peut pas afficher le résultat directement mais le site A doit récupérer les valeurs qu'ils stockent dans deux variables.

    Admettons que l'appel du script soit le suivant :
    http://www.siteB.com/sitea.php?data=Fus ... 2012-02-05

    Le site B récupère donc une chaine de caractère qu'il décompose, avec ça, il effectue une recherche dans sa base de donnée, il obtient un résultat (ce sera toujours un ou zéro résultat, garantit par les critères de recherche).
    Le site A doit récupérer ce résultat via deux variables :
    $texteretour="CHRISTIAN SMITH @ Fuse Start : 23h Price : 4€ < 0h > 8€"
    $from="Nom du site B".

    Ma question est comment transmettre la réponse du script B dans le script A via deux variables que le script A doit ensuite utiliser pour continuer son exécution.

    Merci d'avance de votre aide,

    Cordialement
     
  2. Blini
    Blini WRInaute occasionnel
    Inscrit:
    29 Novembre 2004
    Messages:
    439
    J'aime reçus:
    0
    En PHP, a priori, tu peux faire:
    Code:
    $arrstr = file('http://www.siteB.com/sitea.php?data=Fuse%20BXL%2012-02-05');
    Ça va te renvoyer le "fichier" dont tu as passé l'adresse dans un tableau, une ligne par entrée du tableau.
    Donc si ton siteB répond à cette requête en renvoyant un fichier texte de deux lignes:
    Code:
    CHRISTIAN SMITH @ Fuse Start : 23h Price : 4€ < 0h > 8€
    Nom du site B
    
    C'est tout bon (attention à la sécurité)
    Code:
    $texteretour= $arrstr[0];
    $from = $arrstr[1];
    
     
  3. Haq
    Haq WRInaute passionné
    Inscrit:
    29 Août 2002
    Messages:
    1 639
    J'aime reçus:
    0
    Une soirée au Fuse dans à peine 7 ans ! Vite, préparons-nous !

    (je me permets cette digression vu la réponse a priori parfaite de blini ;-))
     
  4. sultan
    sultan WRInaute discret
    Inscrit:
    29 Février 2004
    Messages:
    52
    J'aime reçus:
    0
    Pour les puristes voici la date exacte :
    12-02-2005 ;-) (cf. theclubbing.com pour plus d'infos) lol

    Je suis pas webmaster de formation donc pour être sur de tout comprendre...

    Je mets l'appel de cette fonction sur le site A :
    Code:
    $arrstr = file('http://www.siteB.com/sitea.php?data=Fuse%20BXL%2012-02-05');
    Le script du site B execute le tout en récupérant, triant, flitrant les réponses, se connecte à sa base de données, réucpère les informations et renvoie au site A ceci :
    Code:
    $texteretour= $arrstr[0]; 
    $from = $arrstr[1]; 
    Les variables $texteretour et $from sont donc utilisables directement sur le site A ? Merci d'avance de votre aide, c'est pas toujours facile de tout capter en php quand on apprend sur le tas... lol
     
  5. sultan
    sultan WRInaute discret
    Inscrit:
    29 Février 2004
    Messages:
    52
    J'aime reçus:
    0
    J'ai fait un script schématique ici, c'est viable comme solution ?

    Sur le siteA, on met une page PHP de ce type, afin de envoyer le texte brut.

    $data=urlencode(CLUB Fuse BXL 12-02-2005);
    Header ('Location: www.siteB.com/soiree.php?data=$data);

    Le script « soiree.php » sur le site B, récupère la variable « data », la décompose, trie les informations, il se connecte sur le serveur de base de données, récupère l’information (qui sera toujours unique ou nul). Il formatte le texte de retour en deux variables et les renvoie au siteA via:

    $texte=urlencode(CHRISTIAN SMITH @ Fuse || Start :23h || Prix : 4euros < 0h > 8euros);
    $idr=urlencode(nomexpe);
    Header ('Location: www.siteA.com/retour.php?texte=$texte&idsender=$id);

    Le script du site A n’a plus qu’à utiliser la fonction urldecode() sur les variables $texte et $idsender avant de pouvoir utiliser les données.

    $texte=urldecode($texte);
    $idsender=urldecode($idsender);

    => Utilisation des données.

    Remarque: Aucun test de sécurité n’a été effectué, mais ils seront bien sûr nécessaires. Ici je montre juste un mécanisme et non un script complet.
     
  6. Blini
    Blini WRInaute occasionnel
    Inscrit:
    29 Novembre 2004
    Messages:
    439
    J'aime reçus:
    0
    Non !!!

    Ton serveur B ne parle pas au serveur A !! Il répond tout simplement une page texte à une requête.

    Reprenons...

    Sur le site A:
    Code:
    $arrstr = file('http://www.siteB.com/sitea.php?data=Fuse%20BXL%2012-02-05');
    $texteretour= $arrstr[0];
    $from = $arrstr[1]; 
    C'est tout. C'est comme si A ouvrait un fichier, le lisait, et stockait les lignes du fichier dans les variables $texteretour et $from.
    Sauf que ce n'est pas un bête fichier que lit A (mais il en sait rien, le pauvre), c'est le retour d'un appel http.

    Donc pour A, c'est bon. Pour B, c'est simplement ta page php "sitea" qui fait un truc comme ça:
    Code:
     <?php
    // blabla j'interroge la BdD
    // blabla je fais plein de trucs
    // je stocke mes super calculs dans des variables locales
    $ligne1 = 'CHRISTIAN SMITH @ Fuse Start : 23h Price : 4€ < 0h > 8€';
    $ligne2 = 'Nom du site B ';
    print($ligne1."\n");
    print($ligne2);
    ?>
    
    C'est tout... Le site B a renvoyé du texte brut sur la requête demandée. Il ne "parle" pas à A spécifiquement. Sinon, c'est le binz.
     
  7. sultan
    sultan WRInaute discret
    Inscrit:
    29 Février 2004
    Messages:
    52
    J'aime reçus:
    0
    Merci beaucoup... j'ai essayé comme tu dis mais j'ai un problème... je n'arrive pas à récupérer la variable data sur le siteB afin de pouvoir utiliser le texte envoyé par A. Ceci marche pas...
    Code:
    $data=$_GET['data'];
    J'utilise la mauvaise... comment ça s'appelle en fait ? lol... est-ce le $_GET qui est mauvais ?
     
  8. Didier_S
    Didier_S WRInaute occasionnel
    Inscrit:
    24 Août 2004
    Messages:
    470
    J'aime reçus:
    2
    n'utilise pas de GET, le serveur B n'ouvre aucune page, il ne peut donc renseigner aucune variable.
    Serveur A -> Ouverture page sur serveur B
    Serveur B -> Ligne1 : "Monsieur Machin" / Ligne2: "dans telle boîte"

    sur le serveur B, tu fais simplement ta recherche, et tu echo (ou print, tiens, vous utiliseriez quoi, vous ? :twisted:) les réponses. Quand A ouvre la page (et donc exécute la recherche), il récupère AUTOMATIQUEMENT le contenu du fichier de B, et donc, dans notre cas, la réponse, sur deux lignes.
     
  9. Blini
    Blini WRInaute occasionnel
    Inscrit:
    29 Novembre 2004
    Messages:
    439
    J'aime reçus:
    0
    Si, si, sultan a raison: il faut utiliser le $_GET sur ton site B pour lire les paramètres de l'URL.
    Bizarre que ça ne marche pas...
    1. Que te renvoie par exemple: isset($_GET['data']) ?
    2. Que te renvoie print_r($_GET) ?
     
  10. sultan
    sultan WRInaute discret
    Inscrit:
    29 Février 2004
    Messages:
    52
    J'aime reçus:
    0
    J'ai trouvé le problème... C'est pas le fichier B qui est en tort mais le fichier A. J'ai mal passé mes variables...
    La variable $_GET['data'] est bien initialisé sur le script de B mais c'est la valeur transmise par A qui était pas correcte.
    J'avais mis
    Code:
    $data=urlencode("Fuse BXL 12-02-2005");
    $arrstr = file('http://www.siteB.com/soiree.php?data=$data'); 
    $texteretour= $arrstr[0]; 
    $from = $arrstr[1];
    
    Alors qu'il fallait
    Code:
    $data=urlencode("Fuse BXL 12-02-2005");
    $arrstr = file('http://www.siteB.com/soiree.php?data='.$data.''); 
    $texteretour= $arrstr[0]; 
    $from = $arrstr[1];
    
    En fait, on peut pas passer la variable directement, il faut la "concaténé".
     
  11. Didier_S
    Didier_S WRInaute occasionnel
    Inscrit:
    24 Août 2004
    Messages:
    470
    J'aime reçus:
    2
    tu peux passer une variable directement quand tu utilise des double-quotes, dans ce cas les chaines sont "parsées", et les variables remplacées par leur valeur...

    Pour être pointilleux, je dois ajouter que les doubles-quotes sont plus "gourmands" en ressources que les simples quotes (avec donc, concaténation)
     
Chargement...
Similar Threads - Script Php distant Forum Date
Sites de scripts PHP, jQuery, Ajax, etc. Le café de WebRankInfo 20 Mars 2022
Détecter arrêt user d'un script PHP ? Développement d'un site Web ou d'une appli mobile 28 Décembre 2021
Actualiser un script php toutes les 10 secondes Développement d'un site Web ou d'une appli mobile 6 Septembre 2021
Quel script PHP conversion HTML -> JSON ? Développement d'un site Web ou d'une appli mobile 17 Février 2021
script PHP erreurs inexplicables. Développement d'un site Web ou d'une appli mobile 14 Février 2021
Du php dans du javascript Développement d'un site Web ou d'une appli mobile 16 Novembre 2020
Title et meta déscription par PHP Référencement Google 20 Décembre 2019
PHP : script pour mettre catalogue xml clickbank dans mysql Développement d'un site Web ou d'une appli mobile 6 Décembre 2017
Créer des graphiques en php - Vers quel script se tourner ? Développement d'un site Web ou d'une appli mobile 19 Octobre 2017
Quel package/script PHP complet de gestion Paypal ? e-commerce 13 Juin 2017
Quel script de consentement <=> tarteaucitron en pur php ? Développement d'un site Web ou d'une appli mobile 19 Août 2016
Script php rotation de bannière ordonné Développement d'un site Web ou d'une appli mobile 4 Avril 2016
Script de crawl en php Développement d'un site Web ou d'une appli mobile 3 Août 2015
Code Javascript s'affiche différemment en php et en html Développement d'un site Web ou d'une appli mobile 8 Décembre 2014
Script php Programme TV en cours Développement d'un site Web ou d'une appli mobile 30 Juillet 2014
envoyer un sms via script php Développement d'un site Web ou d'une appli mobile 25 Octobre 2013
Script d'annuaire en PHP Développement d'un site Web ou d'une appli mobile 11 Juillet 2013
Retour d'expérience et scripts PHP à éviter (OpenX et CaptchaSecurityImages.php) Développement d'un site Web ou d'une appli mobile 18 Avril 2013
choix d'un script de forum français pour php4 Développement d'un site Web ou d'une appli mobile 27 Février 2013
Serveur SOAP PHP et Javascript Développement d'un site Web ou d'une appli mobile 24 Février 2013