J'ai écrit, il y a un moment, un script qui permettait de sélectionner
des lignes d'un tableau html par checkbox. Mon code html (générer par
php) était quelque chose comme:
<input type=checkbox name=k[] value=10>
php récupérait sans problème les différentes valeurs par un :
foreach($_POST['k'] as $k) faisquelquechose($k);
Maintenant (php 4.3.4), j'ai un message d'erreur
Warning: Invalid argument supplied for foreach() in /var/www/html/...
mais faisquelquechose($k) est correctement executée!?!
Avez vous une autre méthode plus propre pour faire à cette sélection
multiple?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Guillaume Bouchard
jérôme hervé wrote:
J'ai écrit, il y a un moment, un script qui permettait de sélectionner des lignes d'un tableau html par checkbox. Mon code html (générer par php) était quelque chose comme:
<input type=checkbox name=k[] value>
<input type="checkbox" name="k[]" value="10" /> De plus, je comence à etre contre les k[] et j'utiliserais plutot quelque chose comme k1, k2, k3 quitte à regenerer un tableau par la suite. C'est moche, mais ont est certain que cela fonctione.
php récupérait sans problème les différentes valeurs par un : foreach($_POST['k'] as $k) faisquelquechose($k);
foreach($_POST['k'] as $k ){ truc($k); }
Par pitié, les parentheses sont plus lisibles...
Maintenant (php 4.3.4), j'ai un message d'erreur Warning: Invalid argument supplied for foreach() in /var/www/html/... mais faisquelquechose($k) est correctement executée!?
Surement que tu n'a pas $_POST de definit ? A vrai dire, je n'en sais trop rien.
-- Guillaume.
jérôme hervé wrote:
J'ai écrit, il y a un moment, un script qui permettait de sélectionner
des lignes d'un tableau html par checkbox. Mon code html (générer par
php) était quelque chose comme:
<input type=checkbox name=k[] value>
<input type="checkbox" name="k[]" value="10" />
De plus, je comence à etre contre les k[] et j'utiliserais plutot
quelque chose comme k1, k2, k3 quitte à regenerer un tableau par la
suite. C'est moche, mais ont est certain que cela fonctione.
php récupérait sans problème les différentes valeurs par un :
foreach($_POST['k'] as $k) faisquelquechose($k);
foreach($_POST['k'] as $k ){
truc($k);
}
Par pitié, les parentheses sont plus lisibles...
Maintenant (php 4.3.4), j'ai un message d'erreur
Warning: Invalid argument supplied for foreach() in /var/www/html/...
mais faisquelquechose($k) est correctement executée!?
Surement que tu n'a pas $_POST de definit ?
A vrai dire, je n'en sais trop rien.
J'ai écrit, il y a un moment, un script qui permettait de sélectionner des lignes d'un tableau html par checkbox. Mon code html (générer par php) était quelque chose comme:
<input type=checkbox name=k[] value>
<input type="checkbox" name="k[]" value="10" /> De plus, je comence à etre contre les k[] et j'utiliserais plutot quelque chose comme k1, k2, k3 quitte à regenerer un tableau par la suite. C'est moche, mais ont est certain que cela fonctione.
php récupérait sans problème les différentes valeurs par un : foreach($_POST['k'] as $k) faisquelquechose($k);
foreach($_POST['k'] as $k ){ truc($k); }
Par pitié, les parentheses sont plus lisibles...
Maintenant (php 4.3.4), j'ai un message d'erreur Warning: Invalid argument supplied for foreach() in /var/www/html/... mais faisquelquechose($k) est correctement executée!?
Surement que tu n'a pas $_POST de definit ? A vrai dire, je n'en sais trop rien.
-- Guillaume.
jerome herve
Guillaume Bouchard wrote:
jérôme hervé wrote:
J'ai écrit, il y a un moment, un script qui permettait de sélectionner des lignes d'un tableau html par checkbox. Mon code html (générer par php) était quelque chose comme:
<input type=checkbox name=k[] value>
<input type="checkbox" name="k[]" value="10" /> De plus, je comence à etre contre les k[] et j'utiliserais plutot quelque chose comme k1, k2, k3 quitte à regenerer un tableau par la suite. C'est moche, mais ont est certain que cela fonctione.
oui bien sur, j'ai pensé à cette solution. mais je préfère trouver un raccourci..
php récupérait sans problème les différentes valeurs par un : foreach($_POST['k'] as $k) faisquelquechose($k);
foreach($_POST['k'] as $k ){ truc($k); }
Par pitié, les parentheses sont plus lisibles...
je ne trouve pas que les parentheses améliorent la lisibilité. signé : un fan de python :)
Maintenant (php 4.3.4), j'ai un message d'erreur Warning: Invalid argument supplied for foreach() in /var/www/html/... mais faisquelquechose($k) est correctement executée!?
Surement que tu n'a pas $_POST de definit ?
Mon $_POST est bien défini. Les valeurs du tableau sont reçues. la preuve le script faisquelquechose() modifie la table sql.
A vrai dire, je n'en sais trop rien.
Guillaume Bouchard wrote:
jérôme hervé wrote:
J'ai écrit, il y a un moment, un script qui permettait de sélectionner
des lignes d'un tableau html par checkbox. Mon code html (générer par
php) était quelque chose comme:
<input type=checkbox name=k[] value>
<input type="checkbox" name="k[]" value="10" />
De plus, je comence à etre contre les k[] et j'utiliserais plutot
quelque chose comme k1, k2, k3 quitte à regenerer un tableau par la
suite. C'est moche, mais ont est certain que cela fonctione.
oui bien sur, j'ai pensé à cette solution. mais je préfère trouver un
raccourci..
php récupérait sans problème les différentes valeurs par un :
foreach($_POST['k'] as $k) faisquelquechose($k);
foreach($_POST['k'] as $k ){
truc($k);
}
Par pitié, les parentheses sont plus lisibles...
je ne trouve pas que les parentheses améliorent la lisibilité.
signé : un fan de python :)
Maintenant (php 4.3.4), j'ai un message d'erreur Warning: Invalid
argument supplied for foreach() in /var/www/html/...
mais faisquelquechose($k) est correctement executée!?
Surement que tu n'a pas $_POST de definit ?
Mon $_POST est bien défini. Les valeurs du tableau sont reçues. la
preuve le script faisquelquechose() modifie la table sql.
J'ai écrit, il y a un moment, un script qui permettait de sélectionner des lignes d'un tableau html par checkbox. Mon code html (générer par php) était quelque chose comme:
<input type=checkbox name=k[] value>
<input type="checkbox" name="k[]" value="10" /> De plus, je comence à etre contre les k[] et j'utiliserais plutot quelque chose comme k1, k2, k3 quitte à regenerer un tableau par la suite. C'est moche, mais ont est certain que cela fonctione.
oui bien sur, j'ai pensé à cette solution. mais je préfère trouver un raccourci..
php récupérait sans problème les différentes valeurs par un : foreach($_POST['k'] as $k) faisquelquechose($k);
foreach($_POST['k'] as $k ){ truc($k); }
Par pitié, les parentheses sont plus lisibles...
je ne trouve pas que les parentheses améliorent la lisibilité. signé : un fan de python :)
Maintenant (php 4.3.4), j'ai un message d'erreur Warning: Invalid argument supplied for foreach() in /var/www/html/... mais faisquelquechose($k) est correctement executée!?
Surement que tu n'a pas $_POST de definit ?
Mon $_POST est bien défini. Les valeurs du tableau sont reçues. la preuve le script faisquelquechose() modifie la table sql.
A vrai dire, je n'en sais trop rien.
Pozzo
Et ça, ça ne marcherait pas, par hasard ?
<input type="checkbox" name="k[]" value="10" />
Et en php
$arrK = $_POST["k"]; foreach($arrK as $value) { faisquelquechose($value); }
et si ça ne fonctionne pas, un petit print_r($arrK) peut aussi être interessant pour comprendre ...
Et ça, ça ne marcherait pas, par hasard ?
<input type="checkbox" name="k[]" value="10" />
Et en php
$arrK = $_POST["k"];
foreach($arrK as $value) {
faisquelquechose($value);
}
et si ça ne fonctionne pas, un petit print_r($arrK) peut aussi être
interessant pour comprendre ...
$arrK = $_POST["k"]; foreach($arrK as $value) { faisquelquechose($value); }
et si ça ne fonctionne pas, un petit print_r($arrK) peut aussi être interessant pour comprendre ...
déjà fait. j'ai quelque chose comme : print_r($_POST); ~> array(... 'k' => Array) print_r($_POST['k']); ~> Array sans parenthèses
hum! je crois que je vais faire autrement ! :/
Pozzo
Pozzo wrote:
Et ça, ça ne marcherait pas, par hasard ?
<input type="checkbox" name="k[]" value="10" />
Et en php
$arrK = $_POST["k"]; foreach($arrK as $value) { faisquelquechose($value); }
et si ça ne fonctionne pas, un petit print_r($arrK) peut aussi être interessant pour comprendre ...
déjà fait. j'ai quelque chose comme : print_r($_POST); ~> array(... 'k' => Array) print_r($_POST['k']); ~> Array sans parenthèses
hum! je crois que je vais faire autrement ! :/
Chez moi ça fonctionne sans problème... Vous êtes sur que l'erreur ne vient pas d'un autre endroit du code source ? D'autant plus que print_r($POST['k']) affiche bien Array... ce qui indique que le script récupere bien un tableau dans $_POST['k']...
Vous avez essayé de récuperer $_POST['k'] dans une variable intermédiaire $arrK comme dans mon exemple plutot que de faire la boucle foreach directement sur $_POST['k'] ? Vous avez essayé de faire un test avec is_array($arrK) pour vérifier que vous récuperez bien un array ? Vous avez essayé de vérifier la taille de l'array (avec count($arrK) pour vérifier que le tableau que vous retourne $_POST['k'] n'est pas vide... Bcp de piste à suivre avant d'abandonner...
Pozzo wrote:
Et ça, ça ne marcherait pas, par hasard ?
<input type="checkbox" name="k[]" value="10" />
Et en php
$arrK = $_POST["k"];
foreach($arrK as $value) {
faisquelquechose($value);
}
et si ça ne fonctionne pas, un petit print_r($arrK) peut aussi être
interessant pour comprendre ...
déjà fait. j'ai quelque chose comme :
print_r($_POST); ~> array(... 'k' => Array)
print_r($_POST['k']); ~> Array sans parenthèses
hum! je crois que je vais faire autrement ! :/
Chez moi ça fonctionne sans problème... Vous êtes sur que l'erreur ne
vient pas d'un autre endroit du code source ? D'autant plus que
print_r($POST['k']) affiche bien Array... ce qui indique que le script
récupere bien un tableau dans $_POST['k']...
Vous avez essayé de récuperer $_POST['k'] dans une variable
intermédiaire $arrK comme dans mon exemple plutot que de faire la boucle
foreach directement sur $_POST['k'] ? Vous avez essayé de faire un test
avec is_array($arrK) pour vérifier que vous récuperez bien un array ?
Vous avez essayé de vérifier la taille de l'array (avec count($arrK)
pour vérifier que le tableau que vous retourne $_POST['k'] n'est pas
vide... Bcp de piste à suivre avant d'abandonner...
$arrK = $_POST["k"]; foreach($arrK as $value) { faisquelquechose($value); }
et si ça ne fonctionne pas, un petit print_r($arrK) peut aussi être interessant pour comprendre ...
déjà fait. j'ai quelque chose comme : print_r($_POST); ~> array(... 'k' => Array) print_r($_POST['k']); ~> Array sans parenthèses
hum! je crois que je vais faire autrement ! :/
Chez moi ça fonctionne sans problème... Vous êtes sur que l'erreur ne vient pas d'un autre endroit du code source ? D'autant plus que print_r($POST['k']) affiche bien Array... ce qui indique que le script récupere bien un tableau dans $_POST['k']...
Vous avez essayé de récuperer $_POST['k'] dans une variable intermédiaire $arrK comme dans mon exemple plutot que de faire la boucle foreach directement sur $_POST['k'] ? Vous avez essayé de faire un test avec is_array($arrK) pour vérifier que vous récuperez bien un array ? Vous avez essayé de vérifier la taille de l'array (avec count($arrK) pour vérifier que le tableau que vous retourne $_POST['k'] n'est pas vide... Bcp de piste à suivre avant d'abandonner...