Hallo,
ich will mit Hilfe von folgender php Datei Benutzereinträge in der DB ändern.
PHP-Code:
<?php
// Auslesen der Inhalte des Anmeldeforms
echo $daten[0] = $_POST['id'];
echo $daten[10] = $_POST['nickname'];
if ($_POST['passwort'] != '') echo $daten[1] = md5($_POST['passwort']);
echo $daten[2] = $_POST['name'];
echo $daten[3] = $_POST['vorname'];
echo $daten[4] = $_POST['email'];
echo $daten[5] = $_POST['clan'];
echo $daten[6] = $_POST['gender']; // 0 = keine Angabe | 1 = männl | 2 = weibl
echo $daten[7] = $_POST['datum'];
echo $daten[8] = $_POST['status'];
echo $daten[9] = $_POST['userstatus'];
echo "
";
// Test ob Daten eingetragen wurden wo sie benötigt werden!
//if ($daten[0] == '' || $daten[2] == '' || $daten[4] == '') fehler_edit();
// umwandeln der daten wenn nötig
if ($daten[6] == 'Keine Angabe') $gender_zahl = 0;
if ($daten[6] == 'männlich') $gender_zahl = 1;
if ($daten[6] == 'weiblich') $gender_zahl = 2;
if ($daten[8] == 'angemeldet') $status_zahl = 1;
if ($daten[8] == 'bezahlt') $status_zahl = 2;
if ($daten[8] == 'ausgescheckt') $status_zahl = 3;
if ($daten[8] == 'eingecheckt') $status_zahl = 4;
if ($daten[9] == 'User') $userstatus_zahl = 1;
if ($daten[9] == 'Admin') $userstatus_zahl = 2;
// ----------------------- skript zum ändern des datensatzes --------------
if ($_POST['passwort'] != '')
{
$sql = "UPDATE user SET benutzername = '$daten[10]', name = '$daten[2]', passwort = '$daten[1]', vorname = '$daten[3]',";
$sql .= " email = '$daten[4]', clan = '$daten[5]', gender = '$gender_zahl', status = '$status_zahl', userstatus = '$userstatus_zahl'";
$sql .= " WHERE id = $daten[0]";
echo $sql;
}
else
{
$sql = "UPDATE user SET benutzername = '$daten[10]', name = '$daten[2]', vorname = '$daten[3]',";
$sql .= " email = '$daten[4]', clan = '$daten[5]', gender = '$gender_zahl', status = '$status_zahl', userstatus = '$userstatus_zahl'";
$sql .= " WHERE id = $daten[0]";
echo $sql;
}
$ergebnis = mysql_query($sql);
$ok_flag = mysql_affected_rows();
if ($ok_flag > 0) echo "
Daten erfolgreich geändert!";
else echo "
Nix passiert";
//header("Location: index.php?bereich=admin/setting&what=usermanager");
?>
Bekomme folgende Ausgabe
PHP-Code:
1-=Alex=-DillhöferAlexAlexanderDillhoefer@gmx.de[KOF]-=Clan=-männlich27.01.05 um 00:02angemeldetAdmin
UPDATE user SET benutzername = '-=Alex=-', name = 'Dillhöfer', vorname = 'Alex', email = 'AlexanderDillhoefer@gmx.de', clan = '[KOF]-=Clan=-', gender = 1, status = 1, userstatus = 2 WHERE id = 1
Nix passiert
Mein DB sieht folgendermassen aus:
Code:
id int(10) UNSIGNED Nein auto_increment
benutzername varchar(24) Ja NULL
passwort varchar(32) Ja NULL
vorname varchar(24) Ja NULL
name varchar(24) Ja NULL
email varchar(36) Ja NULL
clan varchar(24) Ja NULL
gender int(1) Ja NULL
anmeldung varchar(10) Ja NULL
status int(1) UNSIGNED Ja NULL
userstatus int(1) UNSIGNED Ja NULL
Habe schon versucht, bei den DB-Einträgen mit 'Int' die Hochkomma in der Abfrage wegzulassen bzw welche einzufügen, aber geht leider auch nicht..