Pb: (PHP) cURL transmission en POST

NicoASM7 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
 ZDS -
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

1 réponse

ZDS
 
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.
0