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é
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= »YES » /></td>
Voici la fonction que j’ai concocté pour faire cette action:
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>
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 echoConnexion 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 echoEcriture dans socket ok; fputs($fp, $in); echoEcriture dans socket ok; fclose($fp); }
Partager