Page 1 sur 1

CURL validation formulaire "submit" ne se valide p

Posté : 21 févr. 2009, 14:22
par GT
Bonjour à tous,

Actuellement je tente de valider un formulaire à distance pour contacter des clients potentiels et je veux que cela puisse se faire automatiquement.

Voici le cas concret du formulaire sur mon site de test : http://www.reve-du-soir.ch/prestashop/contact-form.php

J'ai donc fait ceci :
$postfields = array();
$postfields["action"] 			= "submit";
$postfields["id_contact"] 		= "1";
$postfields["from"] 			= "[email protected]";
$postfields["message"] 		= "message au client";

//url de la page de soumission
$url = "http://www.reve-du-soir.ch/prestashop/contact-form.php";
$useragent = "Mozilla/5.0";
$referer = $url; 
 
//Initialise une session CURL
$ch = curl_init($url);
//CURL options
curl_setopt($ch, CURLOPT_POST, 1);
//On poste les données du tableau $postfields
curl_setopt($ch, CURLOPT_POSTFIELDS,$postfields);
//On définit un useragent ici Mozilla/5.0
//souvent les bots se font passés pour googlebot ce qui finalement est stupide
//On passe donc un useragent banal
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
//On passe un referrer ici on passe la même page $url
curl_setopt($ch, CURLOPT_REFERER, $referer);
//on récupère le contenu de la page de résultat de la soumission dans une chaine
$test = curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// en cas de redirection (facultatif ici)
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
//Page de résultats et fermeture de session

$result = curl_exec($ch);
curl_close($ch);
echo $result;
Le formulaire se rempli bien tip-top par contre il n'est pas validé, et si je clique sur le bouton envoyer le formulaire est bien posté.

On dirait que tout est OK mais que le formulaire n'arrive pas à être "submit"
Avez-vous une idée à ce sujet ? ou une information à me communiquer pour que je puisse avancer ?

merci d'avance

Posté : 21 févr. 2009, 18:21
par Invité
Voilà j'ajoute ceci aussi, il s'agit du formulaire concerné si ça peut aider.
Est-ce que ça causerai problème car il y a d'autre <form> sur la même page.
<!-- /Breadcrumb -->
<h2>Contactez-nous</h2>

	<p class="bold">Pour des questions &agrave; propos d'une commande ou des informations sur nos produits.</p>
		<form action="/prestashop/contact-form.php" method="post" class="std">
		<fieldset>
			<h3>Envoyez un message</h3>

			<p class="select">
				<label for="id_contact">Objet</label>
				<select id="id_contact" name="id_contact" onchange="showElemFromSelect('id_contact', 'desc_contact')">
					<option value="0">-- Choisir --</option>
									<option value="2" >Service client</option>
									<option value="1" >Webmaster</option>
								</select>

			</p>
			<p id="desc_contact0" class="desc_contact"><label>S&eacute;lectionnez un sujet</label></p>
					<p id="desc_contact2" class="desc_contact" style="display:none;">
			<label>Description</label><span class="like_input">Pour toute question ou r&eacute;clamation sur une commande</span></p>
					<p id="desc_contact1" class="desc_contact" style="display:none;">
			<label>Description</label><span class="like_input">Si un probl&egrave;me technique survient sur le site</span></p>

				<p class="text">
			<label for="email">Votre adresse e-mail</label>
			<input type="text" id="email" name="from" value="" />
		</p>
		<p class="textarea">
			<label for="message">Message</label>
			 <textarea id="message" name="message" rows="7" cols="35"></textarea>

		</p>
		<p class="submit">
			<input type="submit" name="submitMessage" id="submitMessage" value="Envoyer" class="button_large" />
		</p>
	</fieldset>
</form>

Posté : 21 févr. 2009, 18:50
par Ripat
N'aurais-tu pas oublié le champ POST "submitMessage" avec valeur "Envoyer" dans ta requête CURL?

Posté : 22 févr. 2009, 11:27
par Invité
bonjour navré c'était exactement ça.
Merci encore pour votre aide précieuse.