Tableau dans un input

Résolu/Fermé
helloworld - 10 mai 2018 à 19:00
 helloworld - 10 mai 2018 à 20:53
Bonjour,

J'ai un petit soucis, je fais passez des entiers via un tableau dans mon $_POST.
<input type="hidden" name="users[]" value="<?php echo $users->getId() ?>">


Le soucis est que je fonctionne avec des checkbox, et j'aimerai qu'ils me mettent mes id uniquement pour les cases que j'ai coché et non tout les id doffice.

Est ce possible ? Sinon, y a t'il une alternative ?

Merci



2 réponses

jordane45 Messages postés 38344 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 décembre 2024 4 717
10 mai 2018 à 19:03
Bonjour,


j'aimerai qu'ils me mettent mes id uniquement pour les cases que j'ai coché

Tu veux dire dans ta variable POST ?
Ben.. c'est déjà le cas normalement....

Si tu coches quelques cases, puis que tu valides ton formulaire
que te donne ce bout de code ?
$arr_users = !empty($_POST['users']) ? $_POST['users'] : NULL;
echo "<pre>" . print_r($arr_users,true) . "</pre>";

0
Il m'affiche tout

Array
(
[0] => 45
[1] => 47
[2] => 50
)

Le soucis est que j'ai deux input qui font passez des informations via post, un "hidden" et un autre de type "checkbox". Le problème est que si je coche par exemple la premiere et la derniere checkbox, mon tableau sera de type
Array
(
[0] => on
[1] => on
)

mais mon autre tableau users[] sera comme au dessus. Ducoup les indices ne correspondent pas. Et ceci est un un problème pour la suite de mon code.

J'aimerai si possible avoir un post de même taille à chaque envoie de formulaire.
0
jordane45 Messages postés 38344 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 décembre 2024 4 717
10 mai 2018 à 19:27
montres nous le code html de ton formulaire.
0
<?php for ($i=0; $i < count($users); $i++){ ?>
    <input type="hidden" name="users[]" value="<?php echo user->get_id() ?>">
    <td><input type="checkbox" name="checkbox[]" value="<?php echo $true ?>"></td>
 <php } ?>
0
jordane45 Messages postés 38344 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 décembre 2024 4 717
10 mai 2018 à 20:19
Et comme ceci ?
<?php 
  for ($i=0; $i < count($users); $i++){ 
    $id = user->get_id();
    echo "<td>
           <input type='hidden' name='users[$id]' value='$id' />
           <input type='checkbox' 
                  name='checkbox[$id]' 
                  value='$true' />
          </td>";
  } 
?>

Mais ton champ hidden ne sert plus à rien.. puisque tu as l'id dans l'array users
0
Merci effectivement le champ hidden ne sert plus a rien mais j'ai ce qu'il faut.
0