hallo!
ich habe ein script geschrieben mit hilfe dessen sich benutzer selbst benutzername, passwort und email adresse ändern können.
habe leider zwei probleme:
1. im textfeld sollte der bisherige benutzername und die email stehen, aber leider findet er sie nicht, was ich nicht verstehe. ### EDIT: hab das problem gelöst .. aktueller code unten. allerdings habe ich noch immer das problem, dass nix geändert wird, wenn ich auf "speichern" klicke ..
2. ich habe eine überprüfung eingebaut, ob im passwort nichts anderes eingegeben wurden als zahlen und buchstaben, allerdings gibt er mir jetzt immer eine fehlermeldung aus.
admin_edit.php
könnte da bitte mal jemand drübersehen?
vielen Dank!
ich habe ein script geschrieben mit hilfe dessen sich benutzer selbst benutzername, passwort und email adresse ändern können.
habe leider zwei probleme:
1. im textfeld sollte der bisherige benutzername und die email stehen, aber leider findet er sie nicht, was ich nicht verstehe. ### EDIT: hab das problem gelöst .. aktueller code unten. allerdings habe ich noch immer das problem, dass nix geändert wird, wenn ich auf "speichern" klicke ..
2. ich habe eine überprüfung eingebaut, ob im passwort nichts anderes eingegeben wurden als zahlen und buchstaben, allerdings gibt er mir jetzt immer eine fehlermeldung aus.
admin_edit.php
PHP:
<?
$fehlerdatenbank = "<p>Die Anmeldung bei der Datenbank schlug fehl, bitte versuchen Sie es zu einem späteren Zeitpunkt erneut.";
$datenbanknichtda = "Die Datenbank wurde nicht gefunden.";
$server = "localhost";
$user = "benutzername";
$pass = "passwort";
$db = "datenbank";
$conn = @mysql_connect($server, $user, $pass);
if (!$conn)
{echo "$fehlerdatenbank";}
$verbindung = @mysql_select_db($db);
if (!$verbindung)
{echo "$datenbanknichtda";}
?>
<?php
if(isset($_POST['submit']) AND "Speichern" == $_POST['submit']) {
if(!preg_match('/^\w+$/', trim($_POST['name']))) {
echo "<p>\n";
echo " Bitte benutzen Sie nur einen Namen aus alphanumerischen\n";
echo " Zeichen (Zahlen und Buchstaben).\n";
echo "</p>\n";
} else {
$sql = "UPDATE
benutzerdaten
SET
Nickname = '".trim($_POST['name'])."',
Email = '".addslashes(trim($_POST['email']))."',
Vorname = '".trim($_POST['vorname'])."',
Nachname = '".trim($_POST['nachname'])."',
WHERE
Id = '".$_SESSION['Id']."';";
// bei Name kein addslashes(), da Name eh
// nur \w+ sein kann.
mysql_query($sql) OR die(mysql_error());
echo "<p>\n";
echo " Ihre Daten wurden gespeichert\n";
echo "</p>\n";
}
}
if(isset($_POST['submit']) AND "Neues Password speichern" == $_POST['submit']) {
if(trim($_POST['password']) == "") {
echo "<p class=\"error\">\n";
echo " Bitte geben Sie ein Passwort ein, welches das\n";
echo " System verarbeiten kann.\n";
echo "</p>\n";
} elseif(trim($_POST['password']) != trim($_POST['password2'])) {
echo "<p class=\"error\">\n";
echo " Bitte geben Sie zwei übereinstimmende Passwörter ein! Achten Sie auf Groß- und Kleinschreibung!\n";
echo "</p>\n";
} else {
$sql = "UPDATE
benutzerdaten
SET
Kennwort = MD5('".trim($_POST['password'])."')
WHERE
Id = '".$_SESSION['Id']."';";
mysql_query($sql) OR die(mysql_error());
echo "<p>\n";
echo " Das Passwort wurde gespeichert. Sie brauchen sich nicht\n";
echo " neu einloggen.\n";
echo "</p>\n";
}
}
$sql = "SELECT
Nickname,
Email,
Vorname,
Nachname
FROM
benutzerdaten
WHERE
Id = '".$_SESSION['Id']."';";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
echo "<form action=\"admin_edit.php?n=1\" method=\"post\" class=\"formular\">\n";
echo " <p>\n";
echo " <b>Eigene Daten bearbeiten</b>\n";
echo " </p>\n";
echo " <ol>\n";
echo " <li>\n";
echo " <label for=\"name\">Name:</label>\n";
echo " <br><input type=\"text\" name=\"name\" value=\"".$_SESSION['user_nickname']."\"/>\n";
echo " </li>\n";
echo " <li>\n";
echo " <label for=\"email\">Emailadresse:</label>\n";
echo " <br><input type=\"text\" name=\"email\" value=\"".$_SESSION['user_email']."\"/>\n";
echo " </li>\n";
echo " <li>\n";
echo " <label for=\"email\">Vorname:</label>\n";
echo " <br><input type=\"text\" name=\"vorname\" value=\"".$_SESSION['user_vorname']."\"/>\n";
echo " </li>\n";
echo " <li>\n";
echo " <label for=\"email\">Nachname:</label>\n";
echo " <br><input type=\"text\" name=\"nachname\" value=\"".$_SESSION['user_nachname']."\"/>\n";
echo " </li>\n";
echo " <li>\n";
echo " <input type=\"image\" src=\"button_speichern.jpg\" />\n";
echo " <input type=\"hidden\" name=\"".session_name()."\" value=\"".session_id()."\" />\n";
echo " </li>\n";
echo " </ol>\n";
echo "</form>\n";
echo "<form action=\"admin_edit.php?n=2\" method=\"post\" class=\"formular\">\n";
echo " <p>\n";
echo " <b>Neues Passwort erstellen</b>\n";
echo " </p>\n";
echo " <ol>\n";
echo " <li>\n";
echo " <label for=\"password\">Neues Passwort:</label>\n";
echo " <br><input type=\"password\" name=\"password\" id=\"password\" />\n";
echo " </li>\n";
echo " <li>\n";
echo " <label for=\"password2\">Passwortbestätigung:</label>\n";
echo " <br><input type=\"password\" name=\"password2\" id=\"password2\" />\n";
echo " </li>\n";
echo " <li>\n";
echo " <input type=\"image\" src=\"button_speichern.jpg\" />\n";
echo " <input type=\"hidden\" name=\"".session_name()."\" value=\"".session_id()."\" />\n";
echo " </li>\n";
echo " </ol>\n";
echo "</form>\n";
echo "<p>\n";
echo " <a href=\"admin_index1.php\">Zurück</a>\n";
echo "</p>\n";
?>
könnte da bitte mal jemand drübersehen?
vielen Dank!
Zuletzt bearbeitet: