Seite 1 von 2

Carsign-Mod

Verfasst: 19.06.2006 16:29
von nightcab
Hallo,

ich habe mal versucht, das Carsign-Mod zu installieren.
Leider erhalte ich beim Aufruf des Userprofils jetzt die Fehlermeldung

Parse error: parse error, unexpected T_STRING in /var/kunden/webs/forum-5/includes/usercp_register.php on line 543

Hier wäre die Datei zu finden:
http://www.forum-5.m30s27.vlinux.de/inc ... gister.txt


Leider habe ich trotz langer Suche nichts gefunden. Aber vielleicht weiss jemand, wo mein Fehler liegt.

Vielen Dank und viele Grüsse
Micha

Verfasst: 19.06.2006 16:41
von DJ GreenLighT
hmm... ich weiß nicht ob das jetzt der fehler ist... aber versuch mal:

Finde:

Code: Alles auswählen

WHERE user_id = $user_id";
Ersetze mit:

Code: Alles auswählen

WHERE user_id = $user_id;

Verfasst: 19.06.2006 16:49
von nightcab
Danke, aber das war es leider nicht. Denn wenn ich das Anführungszeichen entferne kommt:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/kunden/webs/forum-5/includes/usercp_register.php on line 352

Verfasst: 19.06.2006 16:51
von John the Ripper

Code: Alles auswählen

$sql = "UPDATE " . USERS_TABLE . "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_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 . $sign_sql . "

				WHERE user_id = $user_id";
Versuch's mal mit dieser $sql-Anweisung.

Verfasst: 19.06.2006 17:07
von nightcab
So, damit lässt sich die Seite jetzt aufrufen. Erstmal vielen Dank.

Aber das Update wird nicht in die Datenbank geschrieben. Folgende Fehlermeldung gibt phpbb aus:

Could not update users table

DEBUG MODE

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 '= 'xxx@xxx.de', user_icq = '', user_website = '', user_o

UPDATE phpbb_usersSET user_email = 'xxx@xxx.de', user_icq = '', user_website = '', user_occ = '', user_from = '', user_interests = '', user_sig = '', user_sig_bbcode_uid = '', user_viewemail = 1, user_aim = '', user_yim = '', user_msnm = '', user_attachsig = 0, user_allowsmile = 1, user_allowhtml = 0, user_allowbbcode = 1, 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 = 2, user_active = 1, user_actkey = ' WHERE user_id = 2

Line : 545
File : usercp_register.php

Verfasst: 19.06.2006 17:10
von John the Ripper

Code: Alles auswählen

$sql = "UPDATE " . USERS_TABLE . "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_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 . $sign_sql . "

            WHERE user_id = $user_id"; 
Versuch's damit.

Verfasst: 19.06.2006 17:15
von nightcab
Nö, ist das gleiche. :(

Verfasst: 19.06.2006 17:24
von John the Ripper
Du meinst, die selbe Fehlermeldung? Den Code hab ich jetzt nämlich verändert. Und ist es wirklich exakt die selbe?

Verfasst: 19.06.2006 20:25
von nightcab
Ja, so wie es aussieht ist es exakt die selbe.

Verfasst: 19.06.2006 21:08
von John the Ripper

Code: Alles auswählen

$sql = "UPDATE " . USERS_TABLE . " 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_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 . $sign_sql . "

            WHERE user_id = $user_id";
Jetzt sollte es gehen.
1. Verbesserung war der fehlende Abschluss eines Strings
2. Verbesserung, ein Leerzeichen zw. Tabelle und SET :o