[Solved] mehrere Checkboxen übergeben

Begonnen von reddragon, 09 Februar 2010, 21:10:03

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

reddragon

HI,

folgendes PHP-Problem:
Ich lasse mir über eine SQL-Abfrage (while-schleife )bestimmte Daten ausgeben, und füge dahinter eine Checkbox ein, die Ich über einen Zahlenwert aus der DB identifizieren kann.:
<input type="checkbox" name="' . $id .'" value="' . $id .'">

Nun mache ich hinter den Datensätzen, die ich löschen möchte, eine Häkchen rein, und klicke auf "entfernen".

Der Entfernen-Button funktioniert soweit, und er geht in die vorgesehene IF-Frage rein:
if(isset($_GET['del1'])){   
****************
}


Die URL ändert sich auch entsprechend der gewählten Checkboxen:  index.php?del1=entfernen&27=27&30=30&28=28


Jedoch habe ich das Problem, dass ich diese Variablen nicht übergeben bekomme.

Wenn ich mir in der IF-Schleife die Werte ausgeben lasse, dann sieht das so aus:
print "der Wert 30 = ".$_GET['30']."<br>";

Es wird mir der Wert der Checkbox mit dem Namen "30" mit einer "30" ausgegeben.

Wie bekomme ich nun eine $_GET-Abfrage hin, in der ich mehrere Checkboxen abfragen kann?

mysql_query("DELETE FROM $tabelle WHERE id = $_GET[******]");

Wenn ich nun oben der Checkbox einen festen Namen gebe, dann kann mir immer nur das letzte Value ausgegeben werden.

reddragon

So, gerade wo anders die für mich passende Lösung bekommen :)

Die Checkbox musste geändert werden:
<input type="checkbox" name="delete[]" value="' . $id .'">

und der Löschbefehl schaut so aus:
mysql_query('DELETE FROM ' . $tabelle . ' WHERE id IN (' . implode(',', $_GET['delete']) . ')');

Allerdings gab es dabei den Hinweis, dass der so klar geschrieben ein Sicherheitsrisiko darstellt, also in keiner Datei verwenden, die öffentlich zugänglich ist...