Hallo Leute, ich befinde mich in einer Sackgasse. Zunächst der Lösch-Code:
Was sehen wir? Nun, zunächst wird ein Benutzer ausgewählt, und seine Daten werden noch einmal ausgegeben. Und beim Klicken auf "Kunden löschen" läuft dann ein SQL-Befehl durch. Die Datensätze werden korrekt gelöscht. Sowohl die Rechte als auch die Daten des Kunden sind aus der Datenbank. Jedoch wollte ich eine Art Benachrichtigung einbauen, damit der gelöschte Kunde eine Nachricht bekommt. Damit ich mit $_POST['name'] arbeiten kann, habe ich Textfelder erzeugt, zumindest für den Nickname (Kunde) und die Mail-Adresse (KundenMail).
Führe ich das Löschen durch, bekomme ich folgende Meldung:
Notice: Undefined index: Kunde in /home/a9926458/public_html/LoginSystem/admin/user/delete.php on line 16
Notice: Undefined index: KundenMail in /home/a9926458/public_html/LoginSystem/admin/user/delete.php on line 17
Was übersehe ich hier?
PHP-Code:
<?php
error_reporting(E_ALL);
if(isset($_POST['ID']) AND $_POST['ID'] != 0) {
if(isset($_POST['submit']) AND $_POST['submit'] == 'Kunden löschen'){
// Rechte löschen
$sql = "DELETE FROM
User_Rechte
WHERE
UserID = '".$_POST['ID']."'
";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
// Nachricht den Kunden senden
$nick_d = $_POST["Kunde"];
$empfaenger_d = $_POST["KundenMail"];
$absendername_d = "Mustermann";
$absendermail_d = "absender@mailprovider.de";
// $timet_d = date("d.m.Y");
$betreff_d = "Löschung Ihres Kontos";
$text_d = "Hallo $nick_d,
Ihr Konto wurde von einem Verwalter gelöscht.";
mail($empfaenger_d, $betreff_d, $text_d, "From: $absendername_d <$absendermail_d>");
// User löschen
$sql = "DELETE FROM
User
WHERE
ID = '".$_POST['ID']."'
";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
echo "Der Kunde wurde gelöscht.<br>\n";
}
elseif(isset($_POST['submit']) AND $_POST['submit'] == 'Kunden auswählen') {
echo "Wollen Sie diesen Kunden wirklich löschen?<br>\n";
$sql = "SELECT
SessionID,
Nickname,
Email,
Show_Email,
DATE_FORMAT(Registrierungsdatum, '%d.%m.%Y') as Datum,
Letzte_Aktion,
Letzter_Login
FROM
User
WHERE
ID = '".mysql_real_escape_string($_POST['ID'])."'
";
$result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
$row = mysql_fetch_assoc($result);
echo "<table>\n";
echo " <tr>\n";
echo " <td>\n";
echo "Nickname :\n";
echo " </td>\n";
echo " <td>\n";
echo htmlentities($row['Nickname'], ENT_QUOTES)."\n";
echo "<input type=\"text\" name=\"Kunde\" value=\"".htmlentities($row['Nickname'], ENT_QUOTES)."\">\n";
echo " (";
if($row['SessionID'] AND (time()-60*2 < $row['Letzte_Aktion']))
echo "<span style=\"color:green\">online</span>\n";
else
echo "<span style=\"color:red\">offline</span>\n";
echo ")";
echo " </td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td>\n";
echo "Email-Adresse :";
echo " </td>\n";
echo " <td>\n";
echo htmlentities($row['Email'], ENT_QUOTES)."\n";
echo "<input type=\"text\" name=\"KundenMail\" value=\"".htmlentities($row['Email'], ENT_QUOTES)."\">\n";
echo " </td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td>\n";
echo "Registrierungsdatum :\n";
echo " </td>\n";
echo " <td>\n";
echo $row['Datum']."\n";
echo " </td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td>\n";
echo "Letzter Login :\n";
echo " </td>\n";
echo " <td>\n";
echo date('d.m.Y H:i \U\h\r', $row['Letzter_Login'])."\n";
echo " </td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo "</table>\n";
echo "<form ".
"action=\"index.php?section=admin&page=user&action=delete\" ".
"method=\"post\">\n";
echo "<input type=\"hidden\" name=\"ID\" value=\"".$_POST['ID']."\">\n";
echo "<input type=\"submit\" name=\"submit\" value=\"Kunden löschen\">\n";
echo "</form>\n";
}
}
else {
$sql = "SELECT
ID,
Nickname
FROM
User
ORDER BY
Nickname ASC
";
$result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
if(!mysql_num_rows($result))
echo "Es befinden sich keine Kunden in der Datenbank\n";
else {
echo "<form ".
" action=\"index.php?page=user&action=delete\" ".
" method=\"post\" ".
" accept-charset=\"ISO-8859-1\">";
echo "<select name=\"ID\">\n";
echo " <option value=\"0\">Bitte einen Kunden wählen</option>\n";
while($row = mysql_fetch_assoc($result)) {
echo " <option value=\"".$row['ID']."\">\n";
echo $row['Nickname']."\n";
echo " </option>\n";
}
echo "</select>\n";
echo "<input type=\"submit\" name=\"submit\" value=\"Kunden auswählen\">";
echo "</form>\n";
}
}
?>
Führe ich das Löschen durch, bekomme ich folgende Meldung:
Notice: Undefined index: Kunde in /home/a9926458/public_html/LoginSystem/admin/user/delete.php on line 16
Notice: Undefined index: KundenMail in /home/a9926458/public_html/LoginSystem/admin/user/delete.php on line 17
Was übersehe ich hier?
Kommentar