[PHP] Créer variable tableau dans $_POST

Résolu/Fermé
Fonx2 Messages postés 331 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 5 mai 2013 - 5 juil. 2010 à 10:00
 Flog78 - 5 juil. 2010 à 16:53
Bonjour,

Je programme actuellement un site web en PHP dont l'objectif est de faire une gestion de planning.

Pour cela, je génère un calendrier dont chaque case contient une case à cocher. Le but est de permettre des traitements par lot. Chaque case à cocher correspond donc à une date.

Cependant, il est impossible de connaitre à l'avance le nombre de case qui seront cochée.
Lorsque qu'une case est cochée, sa valeur apparaît dans la variable $_POST de manière indépendante (une case cochée = 1 variable).
J'ai écris une fonction de traitement dans un fichier déporté.

Le problème c'est que je n'arrive pas à isolé puis à transmettre les valeurs de mes cases à cochées à ma fonction.
Je pensais créer un tableau de tableau (c'est à dire une variable tableau dans la variable $_POST) pour ensuite le transmettre à ma fonction.
Pour cela, j'ai donné le même nom à toutes mes cases à cochées sous le forme "$NomDeVariable[]" mais le résultat n'est pas satisfaisant car la valeur qui m'est renvoyé est "Array".

Est ce que quelqu'un à une idée?
A voir également:

2 réponses

fichier formulaire.php :

echo "<form method='post' action='traitement.php'>";

for($i=0;$i<10;$i++)
{
echo "case $i : <input type='checkbox' name='cases[]' value='$i'><br/>";
}
echo "<INPUT type='submit' value='Envoyer'>
</form>";



fichier traitement.php :

echo "valeur des cases cochées : <br/>";

for ($i=0; $i<count($_POST["cases"]); $i++)
{
echo "Valeur : ".$_POST["cases"][$i]."<br/>";
}


ce code là marche nikel si ca peux t'aider :)
6
Fonx2 Messages postés 331 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 5 mai 2013 132
5 juil. 2010 à 16:02
Super!!! Merci beaucoup!

En fait, la partie "formulaire.php" était correct mais c'est lors de la lecture de ma variable que sa clochait.

Cela dit, dans le code que tu à mis, je vois une optimisation pour la partie "traitement.php":
à la place de la boucle for, on utilise une boucle foreach, se qui évite l'appel à la fonction count.
Cela donne:

foreach ($_POST['cases'] as $Valeur) {
echo $Valeur:
}

Voila!
En tout cas, merci infiniment!!
0
Ah oui c'est vrai :)
0