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 :

[PHP-JS] Passage de variables POST à un autre serveur


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 44
    Points : 26
    Points
    26
    Par défaut [PHP-JS] Passage de variables POST à un autre serveur
    Bonjour,

    je voudrais passer des variables d'un script php situé sur un serveur
    vers un script php situé sur un autre serveur par la méthode post
    (la methode get et la méthode des url longues avec "?" me conviennent
    pas car elle ne permettent pas de faire passer de longs textes)
    Il me faut un bouton post qui se clique automatiquement et qui
    n'apparait pas si possible.
    Comment faire ?
    j'ai essayé <input submit="yes"> mais sans succès
    est-on obligé d'utiliser le javascript?

    merci de votre aide

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    Autant que je sache, il y a 2 ou 3 méthodes alternatives en PHP...
    1) Je suppose (et je ne sais pas comment on fait) que c'est faisable avec un header()
    2) on peut faire ça avec la lib CURL, qui n'est pas forcement dispo chez tous les hébergeurs
    3) on peut utiliser une lib PHP tel que snoopy qui remplit très bien ce role, quoique un peu lourd pour passer juste une variables (c'est un browser php)

    Puis bien sur, il y a le javascript (beurk)
    Si vous avez un message d'erreur, n'oubliez pas de le lire, la réponse à votre problème est surement dedans !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Points : 631
    Points
    631
    Par défaut
    Bonsoir,
    y a quelques années, j'avais dû récupérer une page générée après avoir remplie un formulaire sur un serveur distant et j'avais codé ce script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <?php
     
      $_P = array('button' => 'afficher', 'message' => 'coucou');
     
      $site = 'www.domain.tld';
     
      $script = 'scripts/fichier.php';
     
      $donnees = '';
     
      foreach ($_P as $cle => $val) $donnees .= $cle.'='.$val.'&';
     
      $x = strlen($donnees)-1;
     
      $donnees = substr($donnees, 0, $x)
     
      $message  = "POST http://$site/$script HTTP/1.0\r\n";
      $message .= 'Content-type: application/x-www-form-urlencoded'."\r\n";
      $message .= 'Content-length: '.$x."\r\n";
      $message .= "\r\n";
      $message .= $donnees."\r\n";
     
      $fd = fsockopen($site, 80);
     
      fputs($fd, $message);
     
      $code = '';
     
      while (!feof($fd)) $code .= fgets($fd);  
     
      fclose($fd);
     
      echo $code;
     
    ?>
    Je ne sais pas s'il marche encore (pas envie de tester), mais à l'époque c'était passé comme une lettre à la poste.

    Cordialement,
    DaRiaN.

    PS: faites attention à la version du protocole HTTP du serveur de destination (1.0 ou 1.1), première assigniation de la variable $message.

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    Citation Envoyé par DaRiaN Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      $message  = "POST http://$site/$script HTTP/1.0\r\n";
      $message .= 'Content-type: application/x-www-form-urlencoded'."\r\n";
      $message .= 'Content-length: '.$x."\r\n";
      $message .= "\r\n";
      $message .= $donnees."\r\n";
    Je serais assez tenté de penser qu'en mettant ça en header(), ça devrait faire l'affaire !
    Si vous avez un message d'erreur, n'oubliez pas de le lire, la réponse à votre problème est surement dedans !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Points : 631
    Points
    631
    Par défaut
    Je crois que j'avais essayé, mais cela fait tellement longtemps... si vous êtes curieux, pourquoi ne pas tester par vous même?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 44
    Points : 26
    Points
    26
    Par défaut autre sens
    Merci Darian mais c'est dans l'autre sens que je veux envoyer des données.
    J'arrive depuis longtemps à recevoir des données en ouvrant une
    socket et en récupérant un fichier xml d'un serveur distant.
    Ce que je veux faire c'est le contraire, je veux envoyer des données
    automatiquement par un script, actionner le script distant pour que ces
    données soient inclues dans la base distante puis récupérer la main
    sur mon script pour lui faire exécuter autre chose.
    Ca, je n'y arrive pas, je n'arrive pas à faire de "post" automatique,
    post qui n'affiche pas de bouton mais s'exécute automatiquement.
    je veux éviter d'utiliser le javascript ou tout autre langage côté client
    bien évidemment car ça ne produit que des problèmes.

    merci de votre aide.

  7. #7
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 26
    Points : 26
    Points
    26
    Par défaut
    Si j'ai bien pigé il faut faire une redirection vers ton script distant, mais en ajoutant les variables post ?

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 44
    Points : 26
    Points
    26
    Par défaut post
    Citation Envoyé par Deubeul_iou_Bouch Voir le message
    Si j'ai bien pigé il faut faire une redirection vers ton script distant, mais en ajoutant les variables post ?
    non, il faut que le script appelant envoie par "post" des données a un script distant, exécute le script distant puis revienne à l'exécution du script appelant.
    En résumé, il faut juste un post automatique sans bouton.

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    Et dans tout ce qu'on te suggère, tu trouves pas ton bonheur ??
    Si vous avez un message d'erreur, n'oubliez pas de le lire, la réponse à votre problème est surement dedans !

  10. #10
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 26
    Points : 26
    Points
    26
    Par défaut
    Oui dans ce cas il me semble que la méthode des socket soit la plus adaptée...

Discussions similaires

  1. [PHP-JS] Passage de variable de php à javascript
    Par jbr_85 dans le forum Langage
    Réponses: 9
    Dernier message: 02/03/2006, 17h19
  2. [PHP-JS] Passage de variable dans un mailto javascript
    Par arsenik7 dans le forum Langage
    Réponses: 26
    Dernier message: 18/01/2006, 10h45
  3. [PHP-JS] Passage de variable php/Js
    Par dark_vidor dans le forum Langage
    Réponses: 14
    Dernier message: 09/12/2005, 22h31
  4. [PHP-JS] passage de variable de javascript à php
    Par msieurx dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2005, 20h42
  5. [PHP-JS] passage de variable php a javascript
    Par limpins dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/07/2005, 11h54

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