Anstatt ID wird nur Array übermittelt

RageNo1

Erfahrenes Mitglied
Hallo,
ich habe irgendwo ein Fehler eingebaut bin aber irgendwie etwas überfragt.
In folgenden Scriptausschnitt wird anstatt einer ID nur Array übermittelt.

Ich hoffe mir kann jemand sagen wo ich den Fehler eingebaut habe.

PHP:
// kategorie löschen form

if($_GET["select"] == "deleteform") {

?>

<b>kategorie löschen</b>
<form name="deletecat" method="post" action="admincategory.php?select=deletecat">
<table width="250" border="0" cellpadding="0" cellspacing="0">
  <!--DWLayoutTable-->

<?php

$query = mysql_query("SELECT id,name FROM kats ORDER BY name ASC");
while($array = mysql_fetch_array($query)) {

echo "<tr><td align='center' width='30' height='19' valign='middle' class='linktext'><input type='checkbox' name='id[]' value=".$array["id"]."></td><td width='220' valign='middle' class='linktext'>".$array["name"]."</td></tr>";

}
?>

  <tr>
    <td height="19" valign="top" class="linktext"><!--DWLayoutEmptyCell-->&nbsp;</td>
    <td valign="top" class="linktext"><input type="submit" name="Submit" value="kategorie löschen"></td>
  </tr>
</table>
</form>

<?php

}

// user löschen code

if($_GET["select"] == "deletecat") {

mysql_query("DELETE FROM kats WHERE id='".$_POST["id"]."'");
echo "die kategorie wurde ".$_POST["id"]." gelöscht";

}

Mfg Ragey
 
Du hast das Argument doch selbst als Array deklariert:
Code:
echo "<tr><td align='center' width='30' height='19' valign='middle' class='linktext'><input type='checkbox' name='id[]' value=".$array["id"]."></td><td width='220' valign='middle' class='linktext'>".$array["name"]."</td></tr>";
 
Wie sollte das denn sein?

[edit]
Ok, alles zurück habe mal die [] entfernt ;)

Danke für den Hinweis.
 
Zuletzt bearbeitet:
Probier mal Folgendes:
PHP:
<?php

	if( isset($_GET['select']) && $_GET['select'] == 'deletecat' ) {
		$query = '
			DELETE FROM
			        `kats`
			  WHERE
			        `id` IN (' . implode(', ', array_map('intval', $_POST['id'])) . ')
			';
		mysql_query($query);
		echo 'Die Kategorie/-n ' . implode(', ', array_map('intval', $_POST['id'])) . ' wurde/-n gelöscht!';

	}

?>
 
Zurück