Je veux récupérer les cases à cocher d'un formulaire. J'ai suivi ce tuto. Voilà mon code :
Formulaire html
Code : Tout sélectionner
<form method="post" action="./foreach_test.php">
<input type="checkbox" name="prg[]" id="labelbox0" value="prg0 +++ nom du prg0" />
<label for="labelbox0">PRG0</label>
<br />
<input type="checkbox" name="prg[]" id="labelbox1" value="prg1 +++ nom du prg1" checked="checked" />
<label for="labelbox1">PRG1</label>
<br />
<input type="checkbox" name="prg[]" id="labelbox2" value="prg2 +++ nom du prg2" checked="checked" />
<label for="labelbox2">PRG2</label>
<br />
<input type="checkbox" name="prg[]" id="labelbox3" value="prg3 +++ nom du prg3" checked="checked" />
<label for="labelbox3">PRG3</label>
<br />
<input type="checkbox" name="prg[]" id="labelbox4" value="prg4 +++ nom du prg4" />
<label for="labelbox4">PRG4</label>
<br />
<input type="checkbox" name="prg[]" id="labelbox5" value="prg5 +++ nom du prg5" />
<label for="labelbox5">PRG5</label>
<br />
<input type="submit" value="Envoi" />
</form>
<?php
$Res = (isset($_POST['prg'])) ? $_POST['prg'] : null;
echo "Résultats : <br />";
if ( !empty($Res) ) {
foreach( $Res as $key => $value ) {
echo 'N°'.$key.' : '.$value.'<br>';
//echo 'value ' . $key . ' = '.$value . '<br />';
$valueTab = array(); // tableau pour stocker les valeurs
$pattern = ' +++ ';
$valueExplode = explode($pattern, $value); // on explose la chaine
$valueTab[] = $valueExplode; // on met la valeur dans le tableau
//echo $valueTab[$key].'<br>';
}
} else echo 'KO';
?>
Je voudrais couper avec la fonction explode() chaque chaine $value, et stocker les valeurs dans un tableau. Seulement je n'y arrive pas, j'ai l'impression que la dernière valeur du foreach() écrase les autres, sans pouvoir toutes les récupérer. Et je ne vois pas quelle est mon erreur dans le code ci-dessus... Merci pour votre aide !
Edit 19/11 : résolu, le tableau doit être initialisé en dehors du foreach()