IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Mail] Exécuter un script distant à la sortie d'un autre


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2004
    Messages : 151
    Points : 106
    Points
    106
    Par défaut [Mail] Exécuter un script distant à la sortie d'un autre
    Bonjour tout le monde,

    Je cherche à exécuter un script php distant de mon site principal.
    Le tout sans que je puisse rien faire sur la page qui l'exécute.
    Je vous explique :

    je développe une application de facturation centralisée, pour la cela la banque me fournit des scripts php à réutiliser, dont un en particulier qui est exécuté quand la réponse de la banque arrive :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    switch($Verified_Result_Array[0])
    {
    	case "payetest":
    		$facturation = new Facturation();
    		$test = explode("EUR",$CMCIC_bruteVars['montant']);	        $facturation->facturePayee($dbh,$CMCIC_bruteVars['reference'],$test[0]);
    		$facturation->getUrlAndMail($dbh,$CMCIC_bruteVars['reference'],$test[0]);
    		$url = $facturation->getSite();
    		$mailClient = $facturation->getMail();
    $page_appelee = 'http://'.$url.'/espaces/client/activeConf.php?mail='.$mailClient.'&ref='.$CMCIC_bruteVars['reference'];
    		//echo $page_appelee;
    		$retour_page = file_get_contents($page_appelee);
    		eval($retour_page);
    Voilà, j'ai d'abord essayé avec seulement "file_get_content"
    puis en insérant une img ...
    Mais je n'y arrive pas, ce script est absolument nécessaire car c'est lui qui met à jour le site de vente en fonction de la réponse de la banque !!!

    Merci de votre aide !

    Edit : Hop hop j'avais pas vu lol, c'est mon 100e message :p

  2. #2
    Membre actif Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Points : 278
    Points
    278
    Par défaut
    Joyeux annimessage

    J'ai du mal à saisir ton problème.

    - Le code que tu as écrit dans ton message, c'est le code que t'a envoyé la banque ou un code que tu as fais toi ?

    - Tu parles d'un site principal, ça veut dire que t'en as plusieurs pour ton appli ? Pourquoi ? Quel serveur fait quoi ?

    - Qu'est ce qui ne fonctionne pas exactement ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $page_appelee = 'http://'.$url.'/espaces/client/activeConf.php?mail='.$mailClient.'&ref='.$CMCIC_bruteVars['reference'];
    $retour_page = file_get_contents($page_appelee);
    eval($retour_page);
    Quel est ce site auquel tu accedes ?
    Pourquoi faire un eval ?

    J'ai installé plusieurs solutions de paiement mais je ne comprend pas précisement où tu bloques...
    Etre à son compte, y'a rien de mieux !

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2004
    Messages : 151
    Points : 106
    Points
    106
    Par défaut
    je t'explique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ---------- 
     SITE DE  |
       VENTE  |  --------     FACTURATION     --------------   | BANQUE | 
    ----------
    j'envoie du site de vente au site de facturation des données sur ce qui est à facturé : montant, référence, libellé, mail client etc ...

    le client paie à la banque, puis la banque (je sais pas comment) appelle un script sur mon site de facturation.
    Ce script c'est celui que j'ai copié au dessus, le switch correspondant au résultat envoyé par la banque !

    En fait, il faut que FACTURATION exécute une page sur SITE DE VENTE pour mettre à jour les données du site de vente comme quoi la vente a été effectuée.

    PS : je fais un eval() parceque je savais plus quoi faire ...
    En fait je veux faire exécuter un script appelé activeAchat.php sur mon SITE DE VENTE par FACTURATION.
    Voilà et tout cela entièrement automatique sans intervention humaine, puisque c'est la banque qui éxécute le premier script !

  4. #4
    Membre actif Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Points : 278
    Points
    278
    Par défaut
    Je comprend

    De quelle manière fais-tu tes tests ? En faisant des faux paiements grace à un numero de carte de test ?

    Sais-tu si, pour commencer, ta page de retour (sur ton serveur de facturation et appelée par la banque) est bien appelée par la banque ?

    Si oui, as-tu essayé d'ouvrir directement $page_appelee dans ton navigateur pour regarder la sortie ?

    Il faudrait pouvoir determiner le moment précis où ça ne fonctionne plus...
    Etre à son compte, y'a rien de mieux !

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2004
    Messages : 151
    Points : 106
    Points
    106
    Par défaut
    la page est appelé car la banque m'envoie un mail de réponse de ce qui est affiché dedans.

    voici le mail :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    REPONSE DE VOTRE CGI DE CONFIRMATION : 
    1 Lignes ont été affectées <br/>SELECT site,mailCli FROM facture WHERE reference = '707356' AND montant = 89.70http://www.txxx.fr/activeConf.php?mail=axel.xxx@osxtic.com&ref=707356Pragma: no-cache 
    Content-type: text/plain 
    Version: 1 OK
    La page est bien appelé.
    Et quand j'exécute ma page directement avec l'adresse que tu vois là ca marche aussi ...

  6. #6
    Membre actif Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Points : 278
    Points
    278
    Par défaut
    Petite remarque au passage, je te conseille d'écrire plutot ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $page_appelee = 'http://'.$url.'/espaces/client/activeConf.php?mail='.urlencode($mailClient).'&ref='.urlencode($CMCIC_bruteVars['reference']);
    On ne sait jamais, peut-être que les caractères spéciaux peuvent poser problème.

    Tu peux aussi enlever l'eval

    Est ce que depuis cette page tu peux arriver à ouvrir une page quelconque de ton site de vente ?
    Par exemple essaies celà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    ob_start();
    echo file_get_contents($page_appelee);
    $datas = ob_get_contents();
    mail("tonadresse@toto.com", "Log facturation", $datas);
    ob_flush();
    ?>
    Reçois-tu le contenu de la page ?
    Etre à son compte, y'a rien de mieux !

  7. #7
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2004
    Messages : 151
    Points : 106
    Points
    106
    Par défaut
    quand je fais ca je recois rien par mail
    et le mail de la banque me renvoie un contenu vide comme réponde

  8. #8
    Membre actif Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Points : 278
    Points
    278
    Par défaut
    Etrange, tu as bien mis ce dernier bout de code à la place du file_get_contents($page_appelee) ?
    Etre à son compte, y'a rien de mieux !

  9. #9
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2004
    Messages : 151
    Points : 106
    Points
    106
    Par défaut
    oui tout à fait
    je sais pas trop quoi faire une idée ?

  10. #10
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2004
    Messages : 151
    Points : 106
    Points
    106
    Par défaut
    bon le problème venait du fait que le site de facturation et l'autre était sur le même serveur web physique, derrière des virtual hosts apache.
    En mettant localhost dans l'adresse du script ca marché !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. lancer une application java sur un serveur distant en exécutant un script shell
    Par M_Dandouna dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 12/06/2008, 14h40
  2. Exécuter un script batch sur un pc distant
    Par koKoTis dans le forum Scripts/Batch
    Réponses: 21
    Dernier message: 22/07/2007, 19h05
  3. Exécuter un script, redirection entrée-sortie
    Par darkrio dans le forum Langage
    Réponses: 9
    Dernier message: 30/03/2007, 14h53
  4. Réponses: 10
    Dernier message: 06/03/2007, 11h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo