IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Correction du code "Requête POST Vers un serveur [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Correction du code "Requête POST Vers un serveur
    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);
    }

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 228
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 228
    Points : 8 487
    Points
    8 487
    Billets dans le blog
    17
    Par défaut
    J’aimerais cocher un checkbox à travers d'une page web avec la requête POST.
    Cocher une checkbox = attribut checked de ton <input>.

    J’ai donc implémenté une requête POST à partir d'une requête GET.
    Je ne vois pas le lien de cause à effet. Pourquoi ne pas envoyer les données avec une requête GET ?

    Pour le GET le serveur à besoin d’une adresse email et d’un PHPSESSID.
    Oui mais si le serveur n'attend que des données en GET il n'ira pas les chercher en POST.

    Dans ta fonction tu ne transmets pas le cookie de session. De plus il y a bcp d'en-têtes inutiles dans un premier temps.

    Au fait quel est le pb ? As-tu un msg d'erreur ? Un comportement anormal ?

    PS : n'oublie pas d'encadrer ton code sur le forum avec le tag code entre crochets.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    J'avais plusieurs problèmes mais le gros c'est la compréhension. Je cherche à pouvoir me logger à mon site via le sochet à partir d'une requête POST en PHP, et pouvoir ensuite parcourir les pages en faisant des action équivalent aux cliques sur bouton, tout en restant connecter. J'utilise l'adresse email et le PHPSESSID comme suggérer dans la précédente réponse. Je récupère le PHPSESSID dans le header pendant mon login. A partir de celui-ci j'arrive afficher la page sur laquelle j'aimerais cochet et décocher mon checkbox mais je n'arrive pas à modifier leurs états mais si je me rends sur le site j'arrive facilement à le cocher et décocher. L'implémentation de cette page est un peu fastidieuse car son code source varie selon l'état du checkbox.
    J'attache en pièce jointe les codes sources de ma requête et de la page à modifier.
    Merci d'avance pour vos réponses.
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de conversion d'une requête Oracle vers SQL serveur
    Par sono77 dans le forum Développement
    Réponses: 1
    Dernier message: 01/02/2012, 14h50
  2. lenteur de requête mysql vers un poste windows
    Par richard dev dans le forum Réseau
    Réponses: 3
    Dernier message: 08/06/2009, 11h09
  3. Découper un code HTML qui demande un post vers PHP
    Par Liondd dans le forum Langage
    Réponses: 6
    Dernier message: 22/04/2006, 03h15
  4. Analyse de code HTML en réponse a une requête post.
    Par ghost942 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 04/06/2005, 21h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo