Hello zusammen,
habe noch mal die Fehler rausgepult aus dem Script. Hier für alle, die es interessiert:
Kontrollausgaben habe ich erst einmal drin gelassen.
<?php
# include("defConst1.inc.php");
# include("funcLib.inc.php");
#-- hier die Connection herstellen und DB auswählen---------------
$con = mysql_connect( );
$db = mysql_select_db( );
Table TEST # Nur als Beispiel
ID_TEST bigint autoincrement primary key
VARC varc(20)
ZAHL int (10)
#-----------------------------------------------------------------
session_start();
#-------------------------------------------------------------------------
function show_list($res)
{
$_SESSION["idlist"] = array();
echo "<table border="1">\n";
while ($rec = mysql_fetch_assoc($res))
{
echo "<tr>\n";
echo "<td><input type="checkbox"\n".
" name="person[delete][]"\n".
" value="".$rec["ID_TEST"].""></td>\n";
$_SESSION["idlist"][] = $rec["ID_TEST"];
$rec = array_map("htmlentities", $rec);
foreach($rec as $key => $val)
{
echo "<td>$val</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";
}
#-------------------------------------------------------------------------
function show_btn()
{
echo "<br /><input type="submit" name="btn[delete]" value="markierte Löschen" /><br />\n";
}
#=========================================================================
# Hauptprogramm
#=========================================================================
echo "<pre>";
print_r($_POST);
echo "</pre>";
if (($_POST["btn"]["delete"]) and (count($_SESSION["idlist"]) > 0))
{
if (count($_POST['person']['delete']) > 0)
{
foreach($_POST['person']['delete'] as $id)
{
## prüfen, ob die Löschanforderungen gerechtfertigt sind
if(!is_numeric($id) or !in_array($id, $_SESSION["idlist"]))
{
## Fehlerbehandlung wegen Fake
## exit;
}
}
## CSV-Liste aufbauen
$idlist = implode(",",$_POST['person']['delete']);
$query = "DELETE FROM TEST WHERE ID_TEST in ($idlist)";
#########################################
echo "ID-Liste: ($idlist)<br />";
echo "MySQL: ".mysql_error()."<br />";
$res = mysql_query($query);
echo mysql_affected_rows($con)." Datensätze wurden gelöscht<br>";
}
}
## Daten anzeigen
$query = "Select ID_TEST, VARC, ZAHL from TEST";
$res = mysql_query($query,$con);
echo "<form action="".$_SERVER["PHP_SELF"].""\n".
" method="POST"\n".
" enctype="multipart/form-data">\n";
echo "<input type="hidden" name="hid">\n";
if ($res)
{
show_list($res);
show_btn();
}
echo "</form>\n";
echo "Session-Nr: ".session_id()."<br />";
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
?>
Viel Spaß beim Weiterentwickeln.
Grüße
Tom