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 :

Comment savoir si un CheckBox est True ou False ?


Sujet :

Langage PHP

  1. #1
    zesavantfou
    Invité(e)
    Par défaut Comment savoir si un CheckBox est True ou False ?
    Bonjour,

    J'ai des cases à cocher du genre checkbox générées par php:

    exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <label for="<?php print $produits; ?>"><?php print $produits; ?></label>
    <input class='checkbox' type='checkbox' name="<?php print $produits; ?>" value="<?php print $produits; ?>" id="<?php print $produits; ?>" <?php if(in_array($produits,$_SESSION['checkbox'])){print " checked=\"checked\"";} ?>"  />
    Bon, ce que je voudrais vous demander c'est comment puis-je évaluer si un checkbox est en true ou false c'est à dire coché ou pas afin que je l'enregistre dans une variable de session ou pas.

    Vous me dirai que s'il y a le $_POST qui correspond alors a veut dire que c'est true, le problème, c'est que l'utilisateur peut changé d'avis et decocher la case après que je l'ai déjà enregistré

    Donc il faudrait que je puisse a chaque fois faire une evaluation de l'etat de la chackbox.

    Merci de pour vos idées ou suggestions.

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Bonjour

    La session est dans $_SESSION et le retour du formulaire dans $_POST. Donc il te suffit de faire des comparaisons entre les deux.
    si $_SESSION['ma_case'] et pas $_POST['ma_case'] => case décochée => on vire de la session.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    zesavantfou
    Invité(e)
    Par défaut
    Merci Celira, le problème c'est que je suis obligé de mettre toutes mes checkbox dans une seule $_SESSION, sachant qu'il y a différentes parties dans le formulaire qui s'affichent en fonction de $_GET.

    Donc quand une personne valide la partie 2 par exemple, je dois garder dans ma $_SESSION les cases que l'utilsateur a coché tout en gardant en memoire les cases de la première session.

    En bref: la comparaison sera toujours infructueuse.

    Il me faudrait par exemple un truc ou quand en valide on m'envoie toutes les cases avec true et false pour chacune, ensuite je garde en memoire seulement les true.

    Voila, si quelqu'un peut me sortir de ce petrin ca serai génial.

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/03/2006, 12h41
  2. comment savoir si un checkbox est choché
    Par sansouna24 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 27/02/2006, 22h32
  3. Unix - Comment savoir si un fichier est ouvert
    Par freddyboy dans le forum C
    Réponses: 7
    Dernier message: 06/10/2004, 15h53
  4. Comment savoir qu'une fonction est standard ?
    Par D[r]eadLock dans le forum C
    Réponses: 5
    Dernier message: 24/03/2003, 14h42

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