Modérateur PHPfrance |
2575 Messages
29 juin 2006, 14:33
un Checkbox non coché n'est même pas envoyé à PHP, par contre s'il est coché il est envoyé.
Mais s'il est coché et n'a pas eu de clause value il retourne le mot
"on" sinon si une clause value portant une valeur lui est assignée, il retourne cette valeur
Exemple:
si cette case est cochée elle retourne un $_GET["case1"] = "on"
sinon le $_GET["case1"] n'existe pas
si cette case est cochée elle retourne un $_GET["case1"] = "toto"
sinon le $_GET["case1"] n'existe pas
Maintenant si on a un tableau de checkbox (même nom suivi de []) seuls les checkbox alors cochés constituent le tableau reçu par PHP
exemple:
Code : Tout sélectionner
<input type=checkbox name='case1[]' value='a'>
<input type=checkbox name='case1[]' value='b'>
<input type=checkbox name='case1[]' value='c'>
<input type=checkbox name='case1[]' value='d'>
Seules les cases cochées constituent le tableau case1 reçu par PHP
sans respecter la séquence d'origine des checkbox. En l'occurence,
$_GET["case1"] contiendra les cases [0] => 'a' et [1] => 'd' si les checkbox 1 et 4 sont cochés
Pour éviter de perdre la séquence d'origine des cases d'un tableau de checkbox il faut
inclure les index dans le nom du checkbox
exemple:
Code : Tout sélectionner
<input type=checkbox name='case1[0]' value='a'>
<input type=checkbox name='case1[1]' value='b'>
<input type=checkbox name='case1[2]' value='c'>
<input type=checkbox name='case1[3]' value='d'>
Puisque les cases sont indexées le tableau case1 reçu par PHP retiendra les index d'origine des cases cochées. En l'occurence, si les checkbox 1 et 4 sont cochés
$_GET["case1"] contiendra les cases [0] => 'a' et [3] => 'd' où 0 et 3 sont les index d'origine
--------
//////----
//---
//----
//////
-------
//---
//----
//---
//----
//---
//
------
//////----
//////-----
//////
-----
||--------
||--
||---
||
Prendre le recul n'est pas une perte de temps.
ps:
Affrontez moi dans l'arène