Supression de checkbox via POST

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Supression de checkbox via POST

par agité » 11 juin 2006, 18:13

Oui c'etait tout simplement ca oublié de mettre les crochet pour definir un tableau quel idiotie :s

Merci a toi je met [Resolu]

par Cyrano » 11 juin 2006, 18:03

La valeur de ton attribut name de la liste de ton formulaire comporte-t-elle des "[]" ? Je parie que non... Si tu veux récupérer un tableau, il faudrait faire en sorte que les valeurs sélectionnées soient stockées dans un tableau.

par agité » 11 juin 2006, 18:02

bon j'ai tester avec $_GET et il me retourne bien dans l'URL toute les id que je veux supprimer mais quand je fais un tableau il ne me met que le dernier, comment mettre toute les id en tableau ?

par agité » 11 juin 2006, 17:41

par contre quand je fais ca :
 echo $array['0'].",".$array['1'].",".$array['2'];
il me retourne que la premiere valeur ... donc en fait il ne prends en compte dans les variable transmise en POST que la premiere ?

par agité » 11 juin 2006, 17:37

Le resultat obtenu est bien la derniere valeur qu'il faut supprimer mais pas la totalité !

Je n'avais pas compris qu'il fallait mettre en fait un tableau precedemment, finalement j'ai fais ca :
<?php

require("connect.php");

if (isset($_POST['list']))
    {
     $array = array($_POST['list']);
        foreach ($array as $list)
            {
                $sql = "DELETE FROM `messagerie` WHERE id='".$list."' ";
                $exec = mysql_query($sql) or die ("erreur ".mysql_error());

                    if ($exec != false)
                         {
                            echo "Tout les message ".$id_client." ont été supprimer";
                         }
            }
    }else{
        echo "aucun message selectionné";
    }
?>
mais toujours le même resultat en fait ce que je comprends pas c'est comment faire en sorte que mon tableau maintenant creer affecte toute les variables ...

par Cyrano » 11 juin 2006, 17:30

Peut-être bien parce que ta variable n'est pas un tableau, qu'est-ce que tu en penses. Quand je te suggère de faire afficher ta variable, j'attends quand même que tu montres le résultat obtenu. Fais une sélection multiple et fais afficher.

par agité » 11 juin 2006, 17:27

par exemple :
<?php

require("connect.php");

if (isset($_POST['list']))
	{

		$sql = "DELETE FROM `messagerie` WHERE id='".$_POST['list']."' ";
		$exec = mysql_query($sql) or die ("erreur ".mysql_error());
	
			if ($exec != false)
				 {
					echo "Tout les message ".$_POST['list']." ont été supprimer";
				 }
	
	}else{
		echo "aucun message selectionné";
	}
?>
Marche sans soucis et je ne comprends pas comment supprimer la totalité , j'ai tenter de faire un tableau en vain et je pense pas que ce soit la meilleur solution.

par agité » 11 juin 2006, 17:24

Oui il me retourne bien la premiere id de la liste et le supprime sans soucis par contre quand c'est a choix multiple je voudrais tout supprimer d'un coup c'est pour ca que j'utilise foreach().

Tout semble pourtant correct au niveau des variables en tout cas, une idée ?

par Cyrano » 11 juin 2006, 17:20

As-tu essayé de faire afficher $_POST['list'] histoire de vérifier ce que contient ta variable ?

Supression de checkbox via POST

par agité » 11 juin 2006, 16:39

j'ai fais le script suivant ;
<?php

require("connect.php");

if (isset($_POST['list']))
	{
		foreach ($_POST['list'] as $list)
			{
				$sql = "DELETE FROM `messagerie` WHERE id='".$list."' ";
				$exec = mysql_query($sql) or die ("erreur ".mysql_error());

					if ($exec != false)
						 {
							echo "Tout les message ".$id_client." ont été supprimer";
						 }
			}
	}else{
		echo "aucun message selectionné";
	}
?>
mais il m'indique que :

Code : Tout sélectionner

Warning: Invalid argument supplied for foreach() in C:\www\delmail.php on line 7
Pourtant si $_POST['list'] etait inexistant il ne passerais pas dans la premier boucle non ?