Bonsoir,
je début avec php. J’aimerais cocher un checkbox d'une page web avec la requête POST. J’ai donc implémenté une requête POST à partir d'une requête GET. J’ai pris l’entête de la requête GET qui marche sur ce serveur et j’ai voulu en faire une POST mais ça ne marche pas. Pourriez vous m’éclairer un peu sur le sujet? Pour le GET le serveur à besoin d’une adresse email et d’un PHPSESSID.

Le code source de la page à cocher révèle ce qui suit:
lorsque le checkbox n’est pas coché
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<td class= »font_white »><input type= »checkbox » onClick= »document.select_trade.submit() »name= »tradech » value= »YES » /></td>
lorsque le checkbox est coché
Code : Sélectionner tout - Visualiser dans une fenêtre à part
td class= »font_white »><input type= »checkbox » onClick= »document.select_trade.submit() » name= »tradech » value= »NO » checked= »checked » /></td>
Voici la fonction que j’ai concocté pour faire cette action:
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
//$_SESSION['email']=’email@monsite.fr’;
//$_SESSION['SESSID']=’36693e34d97bea70ef4f1badbd6e5f9c’;
//$header = ‘Cookie: login_email=’.str_replace(‘@’, ‘%40′, $_SESSION['email']).’; testcookie=1; PHPSESSID=’.$_SESSION['SESSID'].”\r\n”;
//$host = ‘lecitesurlequeljenvoielepost.fr’;
//$url= /lapagedecesitesurdontjesouhaiteremplirleformule.php
//$contenu_du_formulaire=’tradech=NO’;
function PutUrl($host, $url, $headers=false,$contenu_du_formulaire=false)
{
if ( ($fp = fsockopen($host, 80, $errno, $errstr, 10)) === false) return false; else echo”Connexion dans socket ok”;
$in = “POST $url HTTP/1.1\r\n”;
$in .= “Host: $host\r\n”;
$in .= ‘User-Agent: ‘.$_SERVER['HTTP_USER_AGENT'].”\r\n”;
$in .= ‘Accept: ‘.$_SERVER['HTTP_ACCEPT'].”\r\n”;
$in .= ‘Accept-Language: ‘.$_SERVER['HTTP_ACCEPT_LANGUAGE'].”\r\n”;
$in .= ‘Accept-Charset: ‘.$_SERVER['HTTP_ACCEPT_CHARSET'].”\r\n”;
$in .= “Accept-Encoding: chunked\r\n”;
if ($headers) $in .= $headers;
$in .= “Connection: Keep-alive\r\n”;
$in .= “Content-type: application/x-www-form-urlencoded\r\n”;
$in .= sprintf(“Content-Length: %s\r\n\r\n”, strlen($contenu_du_formulaire));
if ($contenu_du_formulaire) $in .= $contenu_du_formulaire;
$in .= “\r\n”;
//if (fwrite($fp, $in) === false) return false; else echo”Ecriture dans socket ok”;
fputs($fp, $in);
echo”Ecriture dans socket ok”;
fclose($fp);
}