Remplir formulaire depuis un autre site

Remplir formulaire depuis un autre site - PHP - Programmation

Marsh Posté le 29-08-2007 à 14:21:23    

Bonjour,
Je suis en train de chercher un moyen pour remplir un formulaire d'un site automatiquement par le mien et recuperer les résultats (c'est un formulaire de recherche), et ce dans un but d'importations de documents automatiques d'un site vers un autre.
Cela permettrait d'éviter à mes utilisateurs bien des manoeuvres compliquées pour ces importations.
Merci d'avance
Julien
 
PS: je travail en PHP et je prefere éviter le javascript dans un souci d'accessibilité.


---------------
Reggio
Reply

Marsh Posté le 29-08-2007 à 14:21:23   

Reply

Marsh Posté le 29-08-2007 à 15:52:15    

C'est un formulaire post ou get?

Reply

Marsh Posté le 29-08-2007 à 16:20:44    

post en l'occurence


---------------
Reggio
Reply

Marsh Posté le 29-08-2007 à 16:29:40    

Tu peux te renseigner sur la librairie php curl. Un exemple de génération de requête post:

Code :
  1. <?php
  2. $post_data = "userid=";
  3. $post_data .= $_POST['userid'];
  4. $curl = curl_init();
  5. curl_setopt($curl, CURLOPT_URL, "http://monsite.com/mapage.php" );
  6. curl_setopt($curl, CURLOPT_POST, 1);
  7. curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
  8. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  9. $page = curl_exec($curl);
  10. curl_close($curl);
  11. print($page);
  12. ?>

Reply

Marsh Posté le 30-08-2007 à 09:43:31    

Merci mais plus concretement ça fonctionne comment curl?
Julien


---------------
Reggio
Reply

Marsh Posté le 30-08-2007 à 10:07:25    

Curl est une librairie qui permet de faire des requêtes en controllant à peut près tout (entêtes http, données...).
Je te conseille de lire ceci.

Reply

Marsh Posté le 30-08-2007 à 10:17:10    

Sinon je sais pas ce que ça vaut, mais j'utilise parfois ça, et ça marche plutôt bien :
http://scripts.incutio.com/httpclient/examples.php


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 31-08-2007 à 09:37:54    

Ok ça roule avec Curl! Mais je me demandais si il était aussi possible de masquer le formulaire et le header et footer du site où je recupere les infos pour ne recuperer que les résultats de la recherche? J'éspère que cela est suffisament clair...
Merci d'avance
Julien


---------------
Reggio
Reply

Marsh Posté le 31-08-2007 à 09:50:04    

Bah oui. Je suppose que dans l'exemple que je t'ai donné, le code html de la page appellée est dans la variable $page.
Plusieurs solutions:
- si c'est du code xhtml valide, appeller un parseur xml pour enlever les éléments que tu veux pas.
- sinon, et ca risque d'être le cas, soit tu parses le résultat en php pour enlever ce que tu veux pas, soit tu l'affiches, puis en javascript tu mets le header et footer à display="none".

 

Si ce que je dis te parle pas, hésite pas à demander des précisions.


Message édité par durkheim le 31-08-2007 à 09:52:36
Reply

Marsh Posté le 31-08-2007 à 10:14:00    

Eh bien en fait je n'ai pas mis la ligne print($page) car la fonction curl_exec m'envoit deja la page dans le navigateur... donc je me demandait si il n'y avait pas des parametrages possibles...
Et je prefererai éviter le javascript pour l'accessibilité...
Julien


Message édité par Reggiolefourbe le 31-08-2007 à 10:16:54

---------------
Reggio
Reply

Marsh Posté le 31-08-2007 à 10:14:00   

Reply

Marsh Posté le 31-08-2007 à 14:46:05    

Personne n'a la moindre idée? Je suis très embété alors...
Merci quand même...


---------------
Reggio
Reply

Marsh Posté le 31-08-2007 à 14:55:43    

Regarde dans la doc curl, ca doit être marqué.

Reply

Marsh Posté le 31-08-2007 à 15:06:23    

je suis dessus en ce moment même et depuis hier... Mais je ne trouve pas de pistes qui pourraient me permettre de personnaliser l'affichage du site comme je le souhaite... par contre il est clair que c'est très pratique pour traiter les formulaires distants!!!


---------------
Reggio
Reply

Marsh Posté le 31-08-2007 à 15:37:27    

Tu ne pourras pas le faire avec curl. Ce que tu peux faire avec curl, c'est récupérer l'html sans l'afficher, puis le traiter avec du php, puis l'afficher.

Reply

Marsh Posté le 26-01-2009 à 21:56:57    

[:banditfloo]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed