Seite 1 von 1

1064 fehler beim profil ändern

Verfasst: 18.04.2007 00:39
von kolja
nabend
ich stellte gerade fest, dass ich immer diese fehlermeldung bekomme wenn ich mein profil ändern möchte:

Code: Alles auswählen

SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' user_allow_viewonline = 1, user_notify = 0, user_notify_pm = 1,

UPDATE phpbb2_users SET user_email = 'kolja@reggae-party.de', user_icq = '302223736', user_website = 'http://reggae-party.de/viewforum.php?f=26', user_occ = 'tischler1♦', user_from = 'die lebenswerteste stadt der welt', user_interests = '', user_birthday = '4423', user_next_birthday_greeting = '2008', user_sig = '..wo wir sind ist vorne!! Ein jeder nennt die Gedanken klar, die den gleichen Grad der Konfusion haben wie seine eigenen! Wenn man die Natur einer Sache verstanden hat, wird diese berechenbar \"..und hier kommt der rest der bekloppten familie \"', user_sig_bbcode_uid = '', user_viewemail = 1, user_aim = '', user_yim = '', user_msnm = '', user_attachsig = 1, user_allowsmile = 1, user_allowhtml = 1, user_allowbbcode = , user_allow_viewonline = 1, user_notify = 0, user_notify_pm = 1, user_popup_pm = 1, user_timezone = 1, user_dateformat = 'd.m.Y, H:i', user_lang = 'german', user_style = 5, user_active = 1, user_actkey = '' WHERE user_id = 2
dank der suche bin ich ziemlich schnell auf den fehler gestossen:

Code: Alles auswählen

user_allowbbcode = ,
nur sieht meine zeile in der usercp_register.php ganz in ordnung aus:

Code: Alles auswählen

SET " . $username_sql . $passwd_sql . "user_email = '" . str_replace("\'", "''", $email) ."', user_icq = '" . str_replace("\'", "''", $icq) . "', user_website = '" . str_replace("\'", "''", $website) . "', user_occ = '" . str_replace("\'", "''", $occupation) . "', user_from = '" . str_replace("\'", "''", $location) . "', user_interests = '" . str_replace("\'", "''", $interests) . "', user_birthday = '$birthday', user_next_birthday_greeting = '$next_birthday_greeting', user_sig = '" . str_replace("\'", "''", $signature) . "', user_sig_bbcode_uid = '$signature_bbcode_uid', user_viewemail = $viewemail, user_aim = '" . str_replace("\'", "''", str_replace(' ', '+', $aim)) . "', user_yim = '" . str_replace("\'", "''", $yim) . "', user_msnm = '" . str_replace("\'", "''", $msn) . "', user_attachsig = $attachsig, user_allowsmile = $allowsmilies, user_allowhtml = $allowhtml, user_allowbbcode = $allowbbcode, user_allow_viewonline = $allowviewonline, user_notify = $notifyreply, user_notify_pm = $notifypm, user_popup_pm = $popup_pm, user_timezone = $user_timezone, user_dateformat = '" . str_replace("\'", "''", $user_dateformat) . "', user_lang = '" . str_replace("\'", "''", $user_lang) . "', user_style = $user_style, user_active = $user_active, user_actkey = '" . str_replace("\'", "''", $user_actkey) . "'" . $avatar_sql . "
sieht für mich alles ganz richtig aus
dummerweise kann ich nichtmal sagen nach welcher änderung das ganze passiert ist :-(

das einzige was mir in den sinn kommt ist, das ich html für admins erlaubt habe:
http://www.phpbb.de/viewtopic.php?t=141491

kolja

Verfasst: 18.04.2007 03:06
von cYbercOsmOnauT
Du hast die Fehlerstelle schon richtig erkannt. Im Quelltext steht an der Stelle

Code: Alles auswählen

user_allowbbcode = $allowbbcode,
Warum auch immer, wird bei Dir die Variable $allowbbcode nicht gesetzt und PHP geht deswegen von einem Nullstring (leere Zeichenfolge) aus.

Du scheinst da durch irgendeine Modifikation was geschrottet zu haben.

Grüße,
Tekin

Verfasst: 18.04.2007 04:23
von kolja
kann ich das nicht einfach festnageln ...
ich wollte eh in der profileditierung noch etwas aufräumen

warum sollen user bbcode abschalten können ??

aber erstmal dem fehler auf den grund gehen!

edit:

ok, fehlerquelle gefunden:

Code: Alles auswählen

	if ( $mode == 'register' )
	{
		$attachsig = ( isset($HTTP_POST_VARS['attachsig']) ) ? ( ($HTTP_POST_VARS['attachsig']) ? TRUE : 0 ) : $board_config['allow_sig'];
		$allowhtml = true;
		//$allowhtml = ( isset($HTTP_POST_VARS['allowhtml']) ) ? ( ($HTTP_POST_VARS['allowhtml']) ? TRUE : 0 ) : $board_config['allow_html'];
		$allowbbcode = ( isset($HTTP_POST_VARS['allowbbcode']) ) ? ( ($HTTP_POST_VARS['allowbbcode']) ? TRUE : 0 ) : $board_config['allow_bbcode'];
		$allowsmilies = ( isset($HTTP_POST_VARS['allowsmilies']) ) ? ( ($HTTP_POST_VARS['allowsmilies']) ? TRUE : 0 ) : $board_config['allow_smilies'];
	}
	else
	{
		$attachsig = ( isset($HTTP_POST_VARS['attachsig']) ) ? ( ($HTTP_POST_VARS['attachsig']) ? TRUE : 0 ) : $userdata['user_attachsig'];

		$allowhtml = $userdata['user_allowhtml'];
	//$allowhtml = ( isset($HTTP_POST_VARS['allowhtml']) ) ? ( ($HTTP_POST_VARS['allowhtml']) ? TRUE : 0 ) : $userdata['user_allowhtml'];		$allowbbcode = ( isset($HTTP_POST_VARS['allowbbcode']) ) ? ( ($HTTP_POST_VARS['allowbbcode']) ? TRUE : 0 ) : $userdata['user_allowbbcode'];
		$allowsmilies = ( isset($HTTP_POST_VARS['allowsmilies']) ) ? ( ($HTTP_POST_VARS['allowsmilies']) ? TRUE : 0 ) : $userdata['user_allowsmile'];
	}
die beiden auskommentierten zeilen!
wenn ich die zweite wieder aktiviere, kann ich mein profil ändern

die // habe ich gesetzt, damit der admin html schreiben kann,
siehe link im ersten post

vielleicht sieht ja ne möglichkeit, das beides geht...

...mir fallen langsam die augen zu :x

n8, kolja

Verfasst: 18.04.2007 12:44
von cYbercOsmOnauT
Wieso stehen hier zwei Befehlszeilen in ein und derselben Scriptzeile?

Code: Alles auswählen

//$allowhtml = ( isset($HTTP_POST_VARS['allowhtml']) ) ? ( ($HTTP_POST_VARS['allowhtml']) ? TRUE : 0 ) : $userdata['user_allowhtml'];      $allowbbcode = ( isset($HTTP_POST_VARS['allowbbcode']) ) ? ( ($HTTP_POST_VARS['allowbbcode']) ? TRUE : 0 ) : $userdata['user_allowbbcode'];
Da ist doch klar, dass Du, wenn Du $allowhtml = ... auskommentierst, auch die Zeile $allowbbcode = ... weg ist. Mach mal zwei Zeilen draus und dann kommentier die $allowhtml = aus.

Tekin

Verfasst: 18.04.2007 13:57
von kolja
jo, vielen dank das war der fehler!

kolja