Problème variable foreach
Forum Programmation : Problème variable foreach
TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique.
Pour obtenir de l'aide, inscrivez-vous gratuitement !
Bonjour,
Je me permet de revenir vous voir car j'ai besoin de votre aide.
J'ai créer une messagerie sur le site qui marche à merveille. Les messages devaient être supprimés un par un sans checkbox avec un lien unique.
Seulement j'ai voulu faire en sorte que les messages pouvaient être supprimés en masse avec un checkbox.
Mais quand je sélectionnais plusieurs messages et que je cliqué sur supprimer, cela en supprimé qu'un seul.
J'ai donc essayer en vain la fonction foreach que voici mais cela m'affiche Warning: Invalid argument supplied for foreach() in ...
Voici ma requête (formulaire):
| Citation : <form name="myform" action="" method="post">
|
Voici le traitement :
| Citation : if (isset($_POST['delete']))
|
Merci pour votre aide.
Cordialement.
D'après la doc, la sortie de htmlentities est très clairement un string.
$asupprimer n'est donc surement pas un tableau et il est donc impossible de faire un foreach avec.
$_POST['erase'] peut être un tableau si ton url ressemble à index.php?erase=1&erase=2 mais dans ce cas tu dois faire un test is_array() sur cette variable puis appliquer via array_map() la fonction html_entities().
Je te conseille pour une meilleur sécurité de plutôt utiliser du code ressemblant à :
Code :
|
Avec l'usage de trigger_error() au lieu de die() tu peux facilement masquer les messages d'erreurs aux visiteurs en diminuant le niveau d'affichage d'erreur avec error_reporting()
C'est pas beau d'afficher des "Erreur MySQL" aux visiteurs
Il me semble qu'il faut aussi rajouter [] à erase pour dire qu'il s'agit d'un tableau.
Je me rappel avoir proceder comme ça il y'a quelques temps quand j'ai voulu faire la meme chose
<input type="checkbox" name="erase[]" value="<? echo $donnees['id']; ?>" />
Voilà après avoir pris en compte ce que vous m'avez dit et fait les modifications nécessaire, ça marche
Je vous remercie du fond du cœur
Il y a 351 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
