Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/02/2008, 22h20   #1
Invité de passage
 
Inscription : décembre 2003
Messages : 44
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 44
Points : 1
Points : 1
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
phillag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/02/2008, 00h11   #2
Membre expérimenté
 
Inscription : mai 2002
Messages : 673
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 673
Points : 532
Points : 532
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 !
gloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/02/2008, 00h54   #3
Membre expérimenté
 
Inscription : août 2005
Messages : 515
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 515
Points : 557
Points : 557
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 :
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.
DaRiaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/02/2008, 02h24   #4
Membre expérimenté
 
Inscription : mai 2002
Messages : 673
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 673
Points : 532
Points : 532
Citation:
Envoyé par DaRiaN Voir le message
Code :
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 !
gloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/02/2008, 02h27   #5
Membre expérimenté
 
Inscription : août 2005
Messages : 515
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 515
Points : 557
Points : 557
Je crois que j'avais essayé, mais cela fait tellement longtemps... si vous êtes curieux, pourquoi ne pas tester par vous même?
DaRiaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/02/2008, 12h19   #6
Invité de passage
 
Inscription : décembre 2003
Messages : 44
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 44
Points : 1
Points : 1
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.
phillag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/02/2008, 13h21   #7
Futur Membre du Club
 
Étudiant
Inscription : mai 2006
Messages : 25
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2006
Messages : 25
Points : 17
Points : 17
Si j'ai bien pigé il faut faire une redirection vers ton script distant, mais en ajoutant les variables post ?
Deubeul_iou_Bouch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/02/2008, 13h56   #8
Invité de passage
 
Inscription : décembre 2003
Messages : 44
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 44
Points : 1
Points : 1
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.
phillag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/02/2008, 14h03   #9
Membre expérimenté
 
Inscription : mai 2002
Messages : 673
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 673
Points : 532
Points : 532
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 !
gloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/02/2008, 14h36   #10
Futur Membre du Club
 
Étudiant
Inscription : mai 2006
Messages : 25
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2006
Messages : 25
Points : 17
Points : 17
Oui dans ce cas il me semble que la méthode des socket soit la plus adaptée...
Deubeul_iou_Bouch est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h16.


 
 
 
 
Partenaires

Hébergement Web