Lulu
2020-02-12 23:08:35 UTC
Bonjour,
J'ai un formulaire permettant de sélectionner différents éléments :
<ul>
<li><input type="checkbox" name="elements[]" value="H">Hydrogène</li>
<li><input type="checkbox" name="elements[]" value="He">Hélium</li>
<li><input type="checkbox" name="elements[]" value="Li">Lithium</li>
<li><input type="checkbox" name="elements[]" value="Na">Sodium</li>
<li><input type="checkbox" name="elements[]" value="Mg">Magnésium</li>
<li><input type="checkbox" name="elements[]" value="Ar">Argon</li>
<li><input type="checkbox" name="elements[]" value="Ca">Calcium</li>
<li><input type="checkbox" name="elements[]" value="Ti">Titane</li>
<li><input type="checkbox" name="elements[]" value="Mn">Manganèse</li>
<li><input type="checkbox" name="elements[]" value="Fe">Fer</li>
<li><input type="checkbox" name="elements[]" value="Hg">Hydrargyrum</li>
</ul>
Et j'imaginais naïvement récupérer chacun des éléments dans le tablau
elements[], or le code
$nb_elements = sizeof( $elements );
echo "nombre d'éléments choisis : ".$nb_elements."<br />\n";
m'affiche un "0" et
for ( $i = 0 ; $i < 11 ; $i++) {
echo $i." -->".$elements[$i]."///";
}
affiche chaque variable $elements[$i] comme vide...
Par contre, mais ça ne me plaît pas car je ne comprends pas comment ça
marche et je ne sais pas l'exploiter, le code
foreach( $_POST['elements'] as $val ) {
echo $val,'<br />';
}
m'affiche bien les values sélectionnées par l'utilisateur.
J'ai l'impression (fausse sans doute) que les tableaux sont inutilement
compliqués en PHP puisque je croyais que elements[] serait une simple
liste accessible, comme en Python, par un index variant de 0 à sizeof-1
Bref, j'ai besoin d'un peu d'aide.
Merci
PS : la difficulté vient peut-être du fait que le script qui traite le
formulaire n'est pas un autre script que celui qui l'affiche : tout se
passe dans un seul script dont je gère le rechargement à coup de test
sur isset.
J'ai un formulaire permettant de sélectionner différents éléments :
<ul>
<li><input type="checkbox" name="elements[]" value="H">Hydrogène</li>
<li><input type="checkbox" name="elements[]" value="He">Hélium</li>
<li><input type="checkbox" name="elements[]" value="Li">Lithium</li>
<li><input type="checkbox" name="elements[]" value="Na">Sodium</li>
<li><input type="checkbox" name="elements[]" value="Mg">Magnésium</li>
<li><input type="checkbox" name="elements[]" value="Ar">Argon</li>
<li><input type="checkbox" name="elements[]" value="Ca">Calcium</li>
<li><input type="checkbox" name="elements[]" value="Ti">Titane</li>
<li><input type="checkbox" name="elements[]" value="Mn">Manganèse</li>
<li><input type="checkbox" name="elements[]" value="Fe">Fer</li>
<li><input type="checkbox" name="elements[]" value="Hg">Hydrargyrum</li>
</ul>
Et j'imaginais naïvement récupérer chacun des éléments dans le tablau
elements[], or le code
$nb_elements = sizeof( $elements );
echo "nombre d'éléments choisis : ".$nb_elements."<br />\n";
m'affiche un "0" et
for ( $i = 0 ; $i < 11 ; $i++) {
echo $i." -->".$elements[$i]."///";
}
affiche chaque variable $elements[$i] comme vide...
Par contre, mais ça ne me plaît pas car je ne comprends pas comment ça
marche et je ne sais pas l'exploiter, le code
foreach( $_POST['elements'] as $val ) {
echo $val,'<br />';
}
m'affiche bien les values sélectionnées par l'utilisateur.
J'ai l'impression (fausse sans doute) que les tableaux sont inutilement
compliqués en PHP puisque je croyais que elements[] serait une simple
liste accessible, comme en Python, par un index variant de 0 à sizeof-1
Bref, j'ai besoin d'un peu d'aide.
Merci
PS : la difficulté vient peut-être du fait que le script qui traite le
formulaire n'est pas un autre script que celui qui l'affiche : tout se
passe dans un seul script dont je gère le rechargement à coup de test
sur isset.