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 :

gestion de checkbox


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut gestion de checkbox
    Bonsoir,

    dans un formulaire, j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      <input name="dispojour[]" value="2" type="checkbox">2/02<br>
      <input name="dispojour[]" value="3" type="checkbox">3/02<br>
      <input name="dispojour[]" value="4" type="checkbox">4/02<br>
      <input name="dispojour[]" value="5" type="checkbox">5/02<br>
      <input name="dispojour[]" value="6" type="checkbox">6/02<br>
    et dans le traitement, ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $dispojour0=$_POST["dispojour"][0];
    $dispojour1=$_POST["dispojour"][1];
    $dispojour2=$_POST["dispojour"][2];
    $dispojour3=$_POST["dispojour"][3];
    $dispojour4=$_POST["dispojour"][4];
    Et le problème, c'est que si je coche "3", $dispojour0 vaut "3" et pas $dispojour1 et si je coche une deuxième valeur (par exemple "5"), $dispojour1 prend la valeur "5", alors que ce que j'attends est que $dispojour_i prenne la valeur "i+2" si le case est cochée.
    Qu'est-ce qui ne va pas ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est une mauvaise idée d'utiliser des variables avec des numéros.

    Les cases cochées existent déjà dans le tableau $_POST["dispojour"] dans quel but cherches-tu a les passer dans une autre variable ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut
    C'était dans le but d'améliorer la lisibilité du code ; j'ai donc supprimé ça, mais c'est toujours le même problème.

    Formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      <input name="dispojour[]" value="2" type="checkbox">2/02<br>
      <input name="dispojour[]" value="3" type="checkbox">3/02<br>
      <input name="dispojour[]" value="4" type="checkbox">4/02<br>
      <input name="dispojour[]" value="5" type="checkbox">5/02<br>
      <input name="dispojour[]" value="6" type="checkbox">6/02<br>
    Action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $nbjour=0;
    echo "dispo0=".$_POST["dispojour"][0]." dispo1=".$_POST["dispojour"][1]."<br>";
    if ($_POST["dispojour"][0]=="2") {if (!$nbjour) echo "Les jours de dispo sont : "; echo "2"; $nbjour++;}
    if ($_POST["dispojour"][1]=="3") {if (!$nbjour) echo "Les jours de dispo sont : "; if ($nbjour) echo (","); echo "3"; $nbjour++;}
    if ($_POST["dispojour"][2]=="4") { if (!$nbjour) echo "Les jours de dispo sont : "; if ($nbjour) echo (",");  echo "4"; $nbjour++;}
    if ($_POST["dispojour"][3]=="5") { if (!$nbjour) echo "Les jours de dispo sont : "; if ($nbjour) echo (","); echo "5"; $nbjour++;}
    if ($_POST["dispojour"][4]=="6") { if (!$nbjour) echo "Les jours de dispo sont : "; if ($nbjour) echo (","); echo "6"; $nbjour++;}

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for ($jour = 2, $jour < 7, $jour++) {
     echo '<input name="dispojour[]" value="' . $jour .'" type="checkbox">' . $jour . '/02<br>';
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo 'les jours de dispo sont : ' . implode(', ', $_POST['dispojour']);
    $nbjour = count($_POST['dispojour']);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut
    Super, ça marche bien.

  6. #6
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut
    J'ai essayé de m'inspirer du truc un peu plus loin, mais ça ne colle pas, et je ne vois pas le problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Vous pouvez faire de l'interpr&eacute;tariat dans la langue :<br>
    <?php 
    $langues=array("anglais","allemand","italien","russe","japonais","tch&egrave;que","su&eacute;dois","espagnol","finlandais");
    for ($interp = 0; $interp < 10; $interp++) {
     echo '<input name="langue[]" value="' . $interp .'" type="checkbox"> '. $langues.'[\''.$interp .'\']<br>';
    }
    ?>
    Au lieu de "anglais", par exemple, il affiche "Array['0']"...

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

Discussions similaires

  1. gestion des checkbox , debutant
    Par Mobistar dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 14/04/2008, 14h54
  2. Création et gestion de checkbox en dynamique
    Par davinout dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 15/01/2007, 15h47
  3. la gestion de checkbox
    Par way66 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/11/2006, 13h06
  4. Gestion des checkbox en API32 ?
    Par pj69100 dans le forum MFC
    Réponses: 2
    Dernier message: 01/05/2006, 11h12

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