[erledigt!] Fehlermeldung wenn User Profil editiert

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Overhead
Mitglied
Beiträge: 609
Registriert: 13.03.2007 16:04
Wohnort: Germersheim

Beitrag von Overhead »

@ Miriam

sicherlich wäre es richtiger gewesen - aber da es schon ein paar Tage her ist hatte ich das einfach verpeilt - sorry.

Da das Board noch im Test läuft, hatte ich auch die Sache mit mehr auf dem Schirm - es tauchte halt wieder einer unserer User zum testen auf und hat mir die Sache serviert - immer nach dem Motto: "Du Admin, da geht was nicht bitte beheben - die meisten anderen Sachen konnte ich bisher mit Eurer Hilfe lösen - einige von Euch haben mir schon massig weitergeholfen.

Trotzdem würde ich das Problem gern vom Tisch haben, vielleicht könnte ein Mod oder Admin die Themen zusammenfassen - damit es übersichtlich bleibt.

cu Overhead
== MAKE MY DAY ==
Benutzeravatar
Overhead
Mitglied
Beiträge: 609
Registriert: 13.03.2007 16:04
Wohnort: Germersheim

Beitrag von Overhead »

@ all

noch einmal hochschieben.... ist wohl erlaubt....

das Problem besteht noch immer... :(

cu Overhead
== MAKE MY DAY ==
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Hast Du das hier schon gelesen und getestet? Klick
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
Overhead
Mitglied
Beiträge: 609
Registriert: 13.03.2007 16:04
Wohnort: Germersheim

Beitrag von Overhead »

@ Miriam

ja das habe ich - allerdings ohne das es etwas gebracht hätte und wie Du 4 Posts weiter oben siehst scheint auch anderes nichts zu bringen....

cu Overhead
== MAKE MY DAY ==
Benutzeravatar
Overhead
Mitglied
Beiträge: 609
Registriert: 13.03.2007 16:04
Wohnort: Germersheim

Beitrag von Overhead »

@ all

ich schieb das Ganze nochmals hoch - weiss denn wirklich keiner wie das Problem zu lösen ist??

cu Overhead
== MAKE MY DAY ==
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Gibt es nun ein Spalte allow_default in der Tabelle phpbb_users?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
Overhead
Mitglied
Beiträge: 609
Registriert: 13.03.2007 16:04
Wohnort: Germersheim

Beitrag von Overhead »

@ miriam

wenn ich Deinen Vorschlag von hier einbinde kommt folgendes:
Fatal error: Call to undefined function: make_bbcode_uid() in /var/www/web205/html/index.php on line 166
und das Board ist tot! Erst wenn ich den Eintrag aus der DB entferne läuft das Board wieder.

Ich hab mal die index.php hier als txt Datei verlinkt, und den Eintrag in der DB stehen lassen - wobei mir es eher so scheint als wenn der Eintrag so nicht richtig ist.

cu Overhead
== MAKE MY DAY ==
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Der von mir geäusserte Vorschlag hat nichts mit der von Dir geschilderten Fehlermeldung zu tun.
Dein Fehler zeigt das Nichtvorhandensein einer Funktion, hier make_bbcode_uid(), an.
Die von mir gepostete Query fügt eine Spalte in die Tabelle *_users Deiner Board-DB ein. Nicht mehr und nicht weniger.

Aber gut, schauen wir uns mal Deine index.php an:
// add default sig mod
$sql = "SELECT * FROM " . USERS_TABLE . " WHERE allow_default = 1";
// Edit: Es gibt also jetzt eine Spalte allow_default und somit hier auch keinen Fehler mehr
// Das Script fährt also fort (bzw. der Parser parst fröhlich weiter).

$result = $db->sql_query($sql);
$numrows = $db->sql_fetchrowset($result);
$rows = $db->sql_numrows($result);
for ($i=-1;$i < $rows; $i++)
{
$id = $numrows[$i]['user_id'];
$uid = $numrows[$i]['user_sig_bbcode_uid'];

if ($uid == '' )
{
$signature_bbcode_uid = make_bbcode_uid();
// Aha: Hier wird also eine Funktion, die in der Datei bbcode.php im Verzeichnis includes definiert ist angesprochen.
// Aber: Die bbcodes.php ist in Deiner index.php nicht bekannt.
// Ergo: Call to undefined function: make_bbcode_uid()

$sql = "UPDATE " . USERS_TABLE . " SET user_sig_bbcode_uid = '" . $signature_bbcode_uid . "' WHERE user_id = " .$id;
$result = $db->sql_query($sql);
}
Ich würde vorschlagen, dass Du die Installationsanweisung des MODs nochmal überfliegst und die Umsetzung in Deinen Scripten überprüfst.


//Edit: Hattest Du nicht ursprünglich das Problem, dass es einen Fehler gab, wenn der User sein Profil editieren wollte? Wieso sprechen wir jetzt über die index.php? *irgendwie ziemlich verworren*
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
Overhead
Mitglied
Beiträge: 609
Registriert: 13.03.2007 16:04
Wohnort: Germersheim

Beitrag von Overhead »

@ Miriam

Anscheinend löst ein Fehler der an einer ganz anderen Stelle sitzt, das Problem aus.

Wenn wir zurückblenden wurde zuserst mokiert das etwas in der DB nicht stimmt und als das behoben wurde, kommt etas völlig anderes zum tragen.

Der Hammer ist wohl, dass ein Board läuft wenn eine DB unvollständig ist und keinen Fehler auswirft (BBCode wurde noch nie mokiert!) - aber sobald die DB repariert ist auf einmal ein Fehler in einem gnaz anderen Zusammenhang auftaucht.

also der Mod will folgendes haben...

Code: Alles auswählen

# 
#-----[ OPEN ]--------------------------------------------------- 
# 
index.php 

# 
#-----[ FIND ]--------------------------------------------------- 
# 
else 
{ 
   $l_total_user_s = $lang['Registered_users_total']; 
} 

# 
#-----[ AFTER ADD ]---------------------------------------------- 
# 
$sql = "SELECT * FROM " . USERS_TABLE . " WHERE allow_default = 1"; 
$result = $db->sql_query($sql); 
   $numrows = $db->sql_fetchrowset($result); 
   $rows = $db->sql_numrows($result); 
for ($i=-1;$i < $rows; $i++) 
{ 
   $id = $numrows[$i]['user_id']; 
   $uid = $numrows[$i]['user_sig_bbcode_uid']; 
    
   if ($uid == '' ) 
      { 
         $signature_bbcode_uid = make_bbcode_uid(); 
         $sql = "UPDATE " . USERS_TABLE . " SET user_sig_bbcode_uid = '" . $signature_bbcode_uid . "' WHERE user_id = " .$id; 
   $result = $db->sql_query($sql); 
      } 
   $signature = $default_sig['default_sig']; 
   $signature_bbcode_uid = $uid; 
   $signature = htmlspecialchars(stripslashes($signature)); 
   $signature = bbencode_first_pass($signature, $signature_bbcode_uid); 
   $signature = str_replace("<a href=\"", "[url=", $signature); 
   $signature = str_replace("\" target=\"_blank\" class=\"postlink\">", "]", $signature); 
   $signature = str_replace("</a>", "[/url]", $signature); 
   $sql = "UPDATE " . USERS_TABLE . " SET user_sig = '" . $signature . "' WHERE user_id = " .$id; 
   $result = $db->sql_query($sql); 
} 
das ist soweit ich sehe auch so drin...

und nun?

cu Overhead
== MAKE MY DAY ==
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Na mal probieren:

finde in der index.php:

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = './/';
ersetze mit:

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Antworten

Zurück zu „phpBB 2.0: Mod Support“