Account bearbeiten

Katzenbauer

Erfahrenes Mitglied
Mit diesem Script soll man selber seine Daten ändern können. Das auslesen klappt auch soweit nur beim klick auf speichern bekomm ich nen Syntax:

You have an error in your SQL syntax near 'WHERE `id` = '1'' at line 6

Macht mich stutzig, da es ja beim auslesen geht. Finde den Fehler echt nicht. Muss wahrscheinlich wo quotes vergessen haben.


PHP:
<?

if(isset($_POST['submit']) AND "Speichern" == $_POST['submit']) {
    if(!preg_match('/^\w+$/', trim($_POST['name']))) {
        echo "<p>\n";
        echo "    Bitte benutzen sie einen Name nur aus Alphanumerischen\n";
        echo "    Zeichen (Zahlen und Buchstaben).\n";
        echo "</p>\n";
    } else {
        $sql = "UPDATE
                    `users`
				SET
				    `name` = '".trim($_POST['name'])."',
				    `email` = '".addslashes(trim($_POST['email']))."',
				WHERE
				    `id` = '".$_SESSION['id']."'";
				    $result = mysql_query($sql) OR die(mysql_error());
    }
}

$sql = " SELECT
			`name`,
			`password`,
			`email`
		FROM
		    `users`
		WHERE
		    `id` = '".$_SESSION['id']."'";
		    
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);

echo "<form action=\"index.php?section=admin&amp;site=self\" method=\"post\" class=\"formular\">\n";
echo "    <p>\n";
echo "        Eigene Daten bearbeiten\n";
echo "    </p>\n";
echo " <table border=\"0\" />\n";
echo " <tr><td width=\"150\">Name:<br></td><td><input value=\"".$row['name']."\" type=\"text\" name=\"name\" size=\"60\" /></td></tr>\n";
echo " <tr><td height=\"10\"></td><td></td></tr>\n";
echo " <tr><td width=\"150\">E-Mail:</td><td><input value=\"".$row['email']."\" type=\"text\" name=\"email\" size=\"60\" /></td></tr>\n";
echo " <tr><td height=\"10\"></td><td></td></tr>\n";
echo " <tr><td colspan=\"2\" align=\"center\"><input type=\"submit\" value=\"Speichern\" name=\"submit\" /><input type=\"reset\" value=\"Zur&uuml;cksetzen\" name=\"reset\" /></td></tr></form>\n";
echo " <tr><td height=\"60\"></td><td></td></tr>";
echo " </table>\n";
echo " <p>\n";
echo "    <a class=\"menu\" href=\"index.php?section=admin\">Zurück</a>\n";
echo " </p>\n";
?>
 
In deinem Updatequery hast du hinter dem "email"-Feld ein Komma gesetzt. Das musst du dort entfernen und dann klapp wieder alles :).
 

Neue Beiträge

Zurück