Rechercher : dans
Par :

Pb: (PHP) cURL transmission en POST

Dernière réponse le 2 sep 2008 à 23:58:50 NicoASM7, le 8 jui 2008 à 11:49:25 
 Signaler ce message aux modérateurs

Bonjour,

J'essaie de soumettre des valeurs en POST à partir de la librairie cURL en php
et je n'arrive pas à obtenir le résultat attendu.

Si je passe la variable $chaine telle que $chaine = 'nom1=Toto&nom2=toto2',
je n'obtiens pas de résultat pour curl_exec($ch) (le passage des paramètres
ne fonctionne pas).
Tandis que si je passe la variable $chaine = 'nom1 =Toto&nom2 =toto2'; (avec un espace avant le '='),
le passage des paramètres s'effectue normalement.
Seulement dans la page réceptrice les noms des variables passées en paramètre prennent toutes un underscore '_' à la fin. (et si j'ajoute des blancs dans $chaine avant les '=' des underscores sont rajoutés)

Après un var_dump($_POST) dans la page réceptrice :
on trouve $_POST['nom1_'] au lieu de $_POST['nom1'] et $_POST['nom2_'] au lieu de $_POST['nom2'] .

Voici le code correspondant :

$chaine = 'nom1 =Toto&nom2 =toto2';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_USERPWD,$id);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $chaine);
curl_exec($ch);
curl_close($ch);

Si vous avez déjà eu ce problème ou que vous savez comment y remédier, je sollicite
votre aide merci.

Nico

Configuration: Windows XP
Firefox 3.0

Meilleures réponses pour « pb: (PHP) cURL transmission en POST » dans :
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...

1

 ZDS, le 2 sep 2008 à 23:58:50

Désolé de répondre aussi tardivement je cherchais des infos sur cURL quand je suis tombé sur ton post.

Je te conseille de passer tes paramètres par tableau, plutôt que par chaine :

$chaine = array();
$chaine['nom1'] ='Toto';
$chaine['nom2'] = 'toto2';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_USERPWD,$id);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $chaine);
curl_exec($ch);
curl_close($ch);


Bonne chance pour la suite.

Répondre à ZDS
Collection CommentÇaMarche.net