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

HTML Discussion :

[W3C] Comment identifier les "successfull controls" à la soumission d'une form? [Débutant(e)]


Sujet :

HTML

  1. #1
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut [W3C] Comment identifier les "successfull controls" à la soumission d'une form?
    Bonjour à tous!

    Je débute de le codage Web, et j'en suis rendu à la soumission d'une FORM à du php. J'ai trouvé sur le site W3C le lien suivant où ils parlent des "successfull controls" (lien).
    D'après ce que j'ai compris, cela permet de savoir si une checkbox est cochée, si un radio bouton est sélectionné,...

    Donc ma question est très simple : Comment on identifie ce qu'ils appellent les "successfull controls"? Ou sinon comment récupérer l'état des INPUT à l'utilisation dans le fichier PHP de la variable $_POST?

    J'espère avoir été assez clair...
    Merci d'avance!

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Je n'ai pas tout à fait la même interprétation que toi. Pour moi, les successful controls sont les éléments de forumulaires pour lesquels un nom et une valeur ont été définis et vont donc être transmis au serveur. En gros, c'est au navigateur d'identifier les successful controls et de les envoyés au serveur. Toi, dans ton code, oublie cette notion : tu récupèreras tous les successful controls (= les paires de noms + valeurs) dans $_POST ou $_GET. Donc, si tu as une case à cocher et que tu ne récupères pas de données la concernant dans $_POST ou $_GET, c'est qu'elle n'a pas été cochée : le navigateur considère une case à cocher "successful" seulement si elle a été cochée, i.e. s'il y a une valeur à associer.

  3. #3
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut
    Donc si je comprends bien, dans le $_POST ou $_GET, je vais récupérer tous les contrôles, et c'est à moi de vérifier les états de chacun pour savoir ceux qui ont été cochés ou pas? (dans le cas des checkbox par exemple)

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Je répète :
    Citation Envoyé par _Mac_ Voir le message
    Donc, si tu as une case à cocher et que tu ne récupères pas de données la concernant dans $_POST ou $_GET, c'est qu'elle n'a pas été cochée
    Tu ne reçois dans $_GET et $_POST que les champs qui ont une valeur. Dans le cas des cases à cocher, le champ est considéré comme ayant une valeur si et seulement si elle a été coché. $_POST ou $_GET ne contiendront de valeur pour le nom de ta case à cocher que si elle a été cochée. Par exemple, si ta case s'appelle "macase" (<input type="checkbox" name="macase" value="toto">), $_POST["macase"] existera et aura pour valeur "toto" que si la case a été cochée. Si la macase n'a pas été cochée, $_POST["macase"]n'existe pas.

    Si ce n'est pas clair, tu peux faire un test rapide en faisant un petit formulaire contenant tous les champs de formulaire possible et dans le script qui reçoit le post, tu fais un print_r($_POST) et tu seras tout de suite fixé. Genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <html>
    <body>
    <form method="POST">
    <input type="text" name="champtexte"><br>
    <input type="password" name="motdepasse"><br>
    <textarea name="textarea"></textarea><br>
    <input type="checkbox" name="macase" value="macasecochee"><br>
    ...
    </form>
    <pre><?php print_r($_POST); ?></pre>
    </body>
    </html>

  5. #5
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut
    Ok merci j'ai compris

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/04/2007, 12h33
  2. Réponses: 3
    Dernier message: 11/07/2006, 13h43
  3. Réponses: 9
    Dernier message: 23/05/2006, 15h33
  4. Réponses: 1
    Dernier message: 17/06/2005, 10h35

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