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 :

Relecture de formulaire à lignes variables


Sujet :

Langage PHP

  1. #1
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut Relecture de formulaire à lignes variables
    Bonjour,
    Voila je génère un formulaire en lisant selon critère une table en do while.
    J'aimerais savoir comment il est possible de relire ce formulaire généré avec un nombre de ligne forcement variable pour pouvoir faire les modifications des lignes modifiées. (un peu le principe de la gestion des enregistrements cochée dans les tables mysql)
    Merci

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    si tu as bien construit tes champs en tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    uneboucle {
    echo 'input type="text" name="monchamp[]" />';
    }
    tu recupères POST['monchamp'] qui contient tout.

  3. #3
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Bonjour Sabotage,
    Merci de ta réponse.
    Le problème c'est que comme les ligne sont générés dans une boucle à chaque ligne les noms de champs sont identiques. Dans ton exemple chaque ligne à un champ qui s'appelle "monchamp"
    Donc dans le $_POST qu'est-ce ça va donner?
    A+

  4. #4
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Citation Envoyé par GYK Voir le message
    Dans ton exemple chaque ligne à un champ qui s'appelle "monchamp"
    Donc dans le $_POST qu'est-ce ça va donner?
    Un tableau possédant toutes les valeurs des champs.

  5. #5
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Bonjour Thes32,
    Dans mon $_POST, je n'ai que les valeurs de ma dernière ligne.
    A+

  6. #6
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Dans ce cas vérifie que l'attribut name tous tes champs a la forme:

  7. #7
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Merci, j'avais oublié les []
    Apparemment dans le tableau de sortie je n'ai pas les valeurs modifiées, mais les valeurs écrite au départ !

  8. #8
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Bonjour
    Je reprend le fil car j'ai toujours le même problème dans le $_POST j'ai les données qui me servent à écrire le formulaire, mais pas celles modifiées.
    Quelqu'un à t'il une idée?
    Merci

  9. #9
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    je ne comprends pas bien. Tu veux dire que ton formulaire a des valeurs par défaut, et que même si tu modifies en tapant dans les champs, tu obtiens quand même les valeurs par défaut après soumission du formulaire ?

  10. #10
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Bonjour Célira,
    Mon formulaire je le génère à partir d'un table Mysql, et à donc des valeurs initiales.
    Et comme un bon exemple vaut mieux qu'un long discours je te joint le code du formulaire et du tableau généré. Mais tu as très bien compris.
    Le formulaire
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    <form class="Formulaire" align="center" method="POST" enctype="multipart/form-data" action=""  name="confirm" >
    <table width="58%"  align="center" width="100%" >
     
    <tr>
            <td width="30%"> Prenom</td>
            <td width="10%">Année naissance</td>
            <td width="5%">Sexe</td>
            <td width="5%">Statut</td>
            <td width="5%">Type d invité</td>
            <td width="5%">Confirmé?</td>
            <td width="15%">Date Confirmation</td>
          </tr>
     
            <?php 
    		// Boucle de génération du formulaire
    		do { ?>
     
          <tr bgcolor="<?php
    if($SSAdv_m1%$SSAdv_change_every1==0 && $SSAdv_m1>0){
    $SSAdv_k1++;
    }
    print $SSAdv_colors1[$SSAdv_k1%count($SSAdv_colors1)];
    $SSAdv_m1++;
    ?>">
    <?php
    if ($_POST[valide]!="Je valide")
    {
    // Si c'est la construction du formulaire
    if ($row_Recordset1['Confirme'] == 1)
    // Si ma zone confirmatio (tinyint) est à 1
    $confirme = 'checked="checked"';
    else
    $confirme = "";
    }
     
    ?>
            <td align="center" width="30%"><?php echo ucwords($row_Recordset1['Prenom']); ?></td>
            <td width="10%"><?php echo $row_Recordset1['Annais']; ?></td>
            <td width="5%"><?php echo $row_Recordset1['Sexe']; ?></td>
            <td width="5%"><?php echo $row_Recordset1['Statut']; ?></td>
            <td width="5%"><?php echo $row_Recordset1['Typinv']; ?></td>
            <td width="5%"><input class="posmod" name="nconfirme[]" type="checkbox" id="nconfirme[]" value="<?php echo $confirme; ?>" /></td>
            <input class="posmod" name="prenom[]" type="hidden" id="prenom[]" value="
    		<?php 
    		// Je construit une zone comprenant le prénom et la case à cocher $confirme 
    echo $row_Recordset1['Prenom'] .  ";" .$confirme;
    		?>"/>
            <input class="posmod" name="nom" type="hidden" id="nom" value="<?php echo $nom; ?>" />
            <td width="15%"><?php echo $row_Recordset1['DateConf']; ?></td>
          </tr>
          <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));
     
    	  // Fin de boucle de génération du formulaire
    	  ?>
      </table>
          <p>
          <input align="middle" class="Bouton" type="submit" name="valide" id="valide" value="Je valide" />
          </p>
     
    </form>
    Le tableau résultant qui est égal à celui du formulaire généré
    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
     
    Array
    (
        [prenom] => Array
            (
                [0] => 
    		Audrey;checked=
                [1] => 
    		Kalvin;
                [2] => 
    		Kevin;
                [3] => 
    		Tissiane;checked=
            )
     
        [nconfirme] => Array
            (
                [0] => 
                [1] => 
                [2] => checked=
            )
     
        [valide] => Je valide
    )
    Donc je fais manuellement le tableau que j'aurai du avoir après modification du tableau
    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
     
    Array
    (
        [prenom] => Array
            (
                [0] => 
    		Audrey;
                [1] => 
    		Kalvin;checked=
                [2] => 
    		Kevin;
                [3] => 
    		Tissiane;checked=
            )
     
        [nconfirme] => Array
            (
                [0] => 
                [1] => checked=
                [2] => 
                [3] => checked=
            )
     
        [valide] => Je valide
    )
    Merci

  11. #11
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    As tu fais attention à la remqrque :
    Citation Envoyé par sabotage
    tu recupères POST['monchamp'] qui contient tout.
    Dans le déroulement que tu montre, on ne voit nulle part la récupération des données envoyées par POST.

    Fait un print_r($_POST) au tout début de ta page, ça te permettras de vérifier les données reçues.

    Il faudrait à mon sens une alternative :
    - Soit par défaut c'est les données de la Bdd
    - Soit c'est celles reçues en POST (donc après soumission, rechargement de la page).

  12. #12
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Bonjour RunCodePhp,
    Oui j'avais vu et je le fais, mais je n'avais pas mis le code qui correspond au traitement du formulaire vu que dans le contenu de mon $_POST je n'ai pas les bonnes valeurs.

  13. #13
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    C'est surement au niveau de la construction du formulaire qui va pas, particulièrement au niveau de la boucle do / while. Enfin, je pense.

    Faudrait voir le code généré, ça sera peut être plus évident de voir où se situerait l'erreur.
    Ce qui pourrait aider aussi, ce serait de rajouter explicitement l'incrémentation des noms comme prenom[] (par un $i par exemple).

    Exemple :
    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
     
    <?php 
    // Boucle de génération du formulaire
    $i = 0;
    while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)) {
    ?>
     
    ... etc ...
     
    <input class="posmod" name="nconfirme[<?php echo $i; ?>]" type="checkbox" id="nconfirme[<?php echo $i; ?>]" value="<?php echo $confirme; ?>" />
     
    ... etc ...
     
    <?php
    	$i++;
    } // Fin de boucle de génération du formulaire
    ?>
    (j'ai changé un poil. Je ne suis pas très fan des do/while, du moins je l'utilise jamais, donc je ne sais pas trop où mettre le compteur)


    Il y a tout de même cette partie qui à mon sens met quelque peu "en vrac" le HTML.
    Faudrait peut être éviter de mettre des commentaires n'importe où.
    Corriger comme ceci par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    // Je construit une zone comprenant le prénom et la case à cocher $confirme
    ?>
    <input class="posmod" name="prenom[]" type="hidden" id="prenom[]" value="<?php echo $row_Recordset1['Prenom']; ?>"/>

  14. #14
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Je te remercie pour ta proposition.
    J'ai trouvé une solution qui solutionne un problème.
    J'ai donc fait sauté le code que tu disait.
    Maintenant je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <td width="5%"><input class="posmod" name="nconfirme[<?php echo ucwords($row_Recordset1['Prenom']); ?>]" type="checkbox" id="nconfirme[]" value="<?php echo $confirme;?>" /></td>
    Le problème que j'ai maintenant, c'est que je ne récupère jamais ma valeur
    J'ai bien un dans mon array mais rien derriere le prénom, et si je décoche une case déjà coché je n'ai plus de correspondant.
    As tu une idée?

  15. #15
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Que donne le HTML généré ?
    Tu dis rien la dessus, pourtant, voir IN VISU le code peu être utile.
    En tout cas, c'est le réflexe que j'aurais fasse à un tel problème.
    C'est bien souvent plus rapide que de passer en revu tout son code Php ligne par ligne.

    A coté de ça, tu as ce code au départ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $confirme = 'checked="checked"';
    Du coup, faudrait peut être faire comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <td width="5%"><input class="posmod" name="nconfirme[<?php echo ucwords($row_Recordset1['Prenom']); ?>]" type="checkbox" id="nconfirme[]" value="" <?php echo $confirme;?> /></td>
    En faite, $confirme ne serait pas la valeur du checkbox, juste l'état checké/non chécké.
    Pour la valeur, j'en sait rien (plus le temps de cherché en faite). Mais tu devrais le savoir

  16. #16
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Voici le code source du formulaire généré
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    <form class="Formulaire" align="center" method="POST" enctype="multipart/form-data" action=""  name="confirm" >
    <table width="58%"  align="center">
     
    <tr>
            <td width="30%"> Prenom</td>
            <td width="10%">Année naissance</td>
            <td width="5%">Sexe</td>
     
            <td width="5%">Statut</td>
            <td width="5%">Type d invité</td>
            <td width="5%">Confirmé?</td>
            <td width="15%">Date Confirmation</td>
          </tr>
     
     
          <tr bgcolor="#cfbea3">
     
            <td align="center" width="30%">Audrey</td>
            <td width="10%">1980</td>
            <td width="5%">F</td>
            <td width="5%">A</td>
            <td width="5%">T</td>
            <td width="5%"><input class="posmod" name="nconfirme[Audrey]" type="checkbox" id="nconfirme[]" value="" checked="checked" /></td>
     
            <input class="posmod" name="nom" type="hidden"id="nom" value="LeNom" />
     
            <td width="15%">2010-04-22</td>
          </tr>
     
          <tr bgcolor="#b2afaf">
            <td align="center" width="30%">Kalvin</td>
            <td width="10%">2003</td>
            <td width="5%">G</td>
     
            <td width="5%">E</td>
            <td width="5%">S</td>
            <td width="5%"><input class="posmod" name="nconfirme[Kalvin]" type="checkbox" id="nconfirme[]" value="" checked="" /></td>
     
            <input class="posmod" name="nom" type="hidden"id="nom" value="LeNom" />
     
            <td width="15%"></td>
          </tr>
     
          <tr bgcolor="#cfbea3">
     
            <td align="center" width="30%">Kevin</td>
            <td width="10%">1979</td>
            <td width="5%">G</td>
            <td width="5%">A</td>
            <td width="5%">S</td>
            <td width="5%"><input class="posmod" name="nconfirme[Kevin]" type="checkbox" id="nconfirme[]" value="" checked="" /></td>
     
            <input class="posmod" name="nom" type="hidden"id="nom" value="LeNom" />
     
            <td width="15%">0000-00-00</td>
          </tr>
     
          <tr bgcolor="#b2afaf">
            <td align="center" width="30%">Tissiane</td>
            <td width="10%">2004</td>
            <td width="5%">F</td>
     
            <td width="5%">E</td>
            <td width="5%">S</td>
            <td width="5%"><input class="posmod" name="nconfirme[Tissiane]" type="checkbox" id="nconfirme[]" value="" checked="" /></td>
     
            <input class="posmod" name="nom" type="hidden"id="nom" value="LeNom" />
     
            <td width="15%"></td>
          </tr>
            </table>
     
          <p>
          <input align="middle" class="Bouton" type="submit" name="valide" id="valide" value="Je valide" />
          </p>
     
    </form>
    J'ai mis le code que tu as suggéré qui à mon sens ne diffère du mien qu'ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ....value="" <?php echo $confirme;?>

  17. #17
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Et ça donne quoi au bout ?
    N'y a t-il pas une amélioration ?
    J'ai mis le code que tu as suggéré qui à mon sens ne diffère du mien qu'ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ....value="" <?php echo $confirme;?>
    Oui, mais ça change tout.

    Maintenant c'est ceci : ... value="" checked="checked" ...
    Alors que ton ancien code générait ceci ... value="checked="checked"" ... (2 attributs imbriqués)

    Ca ressemble étrangement au résultat que tu obtenais, des checked= ou des checked=checked, ce qui n'était pas correcte.


    Aussi, je vois ceci dans ton HTML généré : type="hidden"id="nom"
    Il faudrait rajouter un espace entre les 2 attributs pour obtenir : type="hidden" id="nom"

    Un autre problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            <td width="5%"><input class="posmod" name="nconfirme[Audrey]" type="checkbox" id="nconfirme[]" value="" checked="checked" /></td>
     
            <input class="posmod" name="nom" type="hidden"id="nom" value="LeNom" />
     
            <td width="15%">2010-04-22</td>
    Le INPUT nom ne se trouve pas dans un TD, il est isolé.
    Ca "casse" quelque peu le DOM, et par conséquent ça risque de déboussoler le navigateur.
    Faudrait placer cet élément dans un TD, soit avant, soit après.

    Et ne pas oublier de mettre une valeur au checked nconfirme -> value=""

  18. #18
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    excuse je ne t'avais pas donné le résultat.
    Non ce n'est pas bon.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ....value="" <?php echo $confirme;?>
    me met systématiquement en checked="cheked", alors que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ....value=" <?php echo $confirme;?> "
    met bien la valeur de la base concernant la personne. Et c'est ce qu'il faut.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Et ne pas oublié de mettre une valeur au checked nconfirme -> value=""
    Qu'entend tu par là? Je pensais que c'était ce que je fais ici ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if ($row_Recordset1['Confirme'] == 1)
    $confirme = 'checked="checked"';
    else
    $confirme = "";
    }

  19. #19
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    met bien la valeur de la base concernant la personne. Et c'est ce qu'il faut.
    T'en est sûr ?
    Car un checked="checked" c'est pour dire et donner l'apparence au checkbox qu'il soit checké (coché).
    Au bout, et s'il est chécké, sa valeur sera retournée, à l'inverse, rien ne sera retourné, le chexbox sera ignoré, inexistant.
    Ce n'est donc pas une valeur normalement, mais un attribut, au même titre que value="" est un attribut.
    En somme, c'est une instruction pour indiquer l'état du checkbox. Coché, ou non coché.
    La valeur, c'est autre chose, ça n'a même aucun rapport (ou presque).

    A mon avis, il y a un truc pas clair.


    Admettons, que ce soit cette valeur (checked="checked") que tu veux mettre. (ça reste néanmoins très surprenant).
    Mettre ceci checked="checked" comme valeur dans un attribut value="", et bien à cause des quote ->" ça provoque un plantage au niveau du navigateur.
    Pour ce faire, il faut encoder avec des entités HTML.
    C'est le seul moyen.
    -> htmlspecialchars('checked="checked"')


    N'empêche qu'ici ça sert à rien de mettre ceci comme valeur, vaut mieux se contenter de mettre 0 ou 1, ou oui ou non, ou on ou off.
    Ensuite, une fois reçu, suffirait de faire une vérif de la valeur (0 ou 1, oui ou non, etc ...) et selon, mettre dans la Bdd (ou autre fichier) -> checked="checked".
    En somme, traiter le cas particulier après, une fois transmit.

    Je ne sais pas si j'ai bien expliqué ? Ou compris aussi.

Discussions similaires

  1. Nom formulaire en variable ?
    Par popo68 dans le forum IHM
    Réponses: 5
    Dernier message: 07/12/2006, 11h43
  2. Colonnes fixes lignes variables
    Par vid2006 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 14/09/2006, 15h05
  3. VALUE d'un champ de formulaire avec variable php
    Par shub dans le forum Langage
    Réponses: 5
    Dernier message: 04/04/2006, 13h13
  4. supprimer le retour a la ligne variable
    Par azmimik dans le forum Général Python
    Réponses: 2
    Dernier message: 23/03/2006, 22h14
  5. Réponses: 1
    Dernier message: 03/03/2006, 14h53

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