Bonjour à tous,

J'aimerais avoir une précision sur le curl,

Je débute dans cette spécification et j'aimerais savoir comment faire pour passer d'un formulaire à l'envoi de celui ci en curl.

Voici le code complet :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
$postfields = array();
$postfields["action"] = "submit";
$postfields["EsendexUsername"] = "nom";
$postfields["EsendexPassword"] = "nom1";
$postfields["EsendexAccount"] = "nom2";
$postfields["EsendexFailurePage"] = "url1";
$postfields["EsendexSuccessPage"] = "url2";
$postfields["EsendexOriginator"] = $_POST['EsendexOriginator'];
$postfields["EsendexRecipient"] = $_POST['EsendexRecipient'];
$postfields["EsendexRecipient"] = $_POST['EsendexRecipient'];
 
$url = "https://www.esendex.com/secure/messenger/formpost/SendSMS.aspx";
$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
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);
 
//on peut faire un echo du résultat obtenu
echo $result;
?>
 
<form method="post" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>">
 
			<P><b>Nom</b><br/>
				<INPUT name="EsendexOriginator" id="EsendexOriginator" type="text"><br/>
			<P><b>Numero</b><br/>
				<INPUT name="EsendexRecipient" id="EsendexRecipient" type="text"><br/></P>
 
		        <P><b>Texte</b><br/>
				<TEXTAREA name="EsendexBody" id="EsendexBody" rows="6" cols="60" maxlength="320"></TEXTAREA><br/>
 
			<input type="submit" value="Envoyer" onclick="this.form.submit();this.disabled=true;this.value='Envoyer'">
</form>
J'ai testé cela avec mes propres variables mais le probleme c'est que ce script en a rien à faire de mon formulaire, il envoi deja les requêtes deja pres rempli du style $postfields["EsendexUsername"] = "nom"; alors que je veux qu'il attende que le bouton "envoyer" soit cliqué pour envoyer !

Merci de votre aide