Seite 2 von 4
Verfasst: 03.05.2007 16:34
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
Verfasst: 05.05.2007 07:36
von Overhead
@ all
noch einmal hochschieben.... ist wohl erlaubt....
das Problem besteht noch immer...
cu Overhead
Verfasst: 05.05.2007 08:44
von Miriam
Hast Du das hier schon gelesen und getestet?
Klick
Verfasst: 05.05.2007 16:22
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
Verfasst: 07.05.2007 11:03
von Overhead
@ all
ich schieb das Ganze nochmals hoch - weiss denn wirklich keiner wie das Problem zu lösen ist??
cu Overhead
Verfasst: 07.05.2007 11:40
von Miriam
Gibt es nun ein Spalte allow_default in der Tabelle phpbb_users?
Verfasst: 09.05.2007 09:16
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
Verfasst: 09.05.2007 09:49
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*
Verfasst: 09.05.2007 10:16
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
Verfasst: 09.05.2007 11:53
von Miriam
Na mal probieren:
finde in der index.php:
ersetze mit:
Code: Alles auswählen
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);