Hallo Peter,
wie es ausschaut kennt deine PHP-Version die Superglobals noch nicht.
Statt $_POST solltest du $HTTP_POST_VARS bzw. die Entsprechungen für GET verwenden.
Zum Vorselektionsproblem: einfach mit isset() prüfen, ob die Variable existiert. Z.B. so
$sql="SELECT * FROM kategorie";
$res=mysql_db_query($db, $sql);
while ($row=mysql_fetch_array($res,MYSQL_ASSOC)) {
if (isset($HTTP_POST_VARS[$row[ID]])) $checked=" checked";
else $checked="";
echo"
<input type="checkbox" name="$row[ID]" value="1"$checked>$row[name]
";
}
Viele Grüße
Antje