Änderung im ACP Forenbereich, dann Fehlermeldung

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
cyjo5
Mitglied
Beiträge: 41
Registriert: 31.07.2012 22:23

Änderung im ACP Forenbereich, dann Fehlermeldung

Beitrag von cyjo5 »

Hallo,

ich habe bei den Foren folgende Änderung gemacht:
Aus einer Kategorie das Forum gelöscht und dann die Kategorie zum Forum gemacht. Weil mir das dann doch nicht gefiel, habe ich aus dem Forum wieder eine Kategorie gemacht und wollte nun ein neues Forum da rein setzen. Beim Absenden kam folgende Fehlermeldung:

Code: Alles auswählen

Allgemeiner Fehler
SQL ERROR [ mysql4 ]

Field 'forum_post_tpl' doesn't have a default value [1364]

SQL

INSERT INTO phpbb_forums (parent_id, forum_type, forum_status, forum_parents, forum_name, forum_link, forum_desc, forum_desc_uid, forum_desc_options, forum_desc_bitfield, forum_rules, forum_rules_uid, forum_rules_options, forum_rules_bitfield, forum_rules_link, forum_image, forum_style, display_subforum_list, display_on_index, forum_topics_per_page, enable_indexing, enable_icons, enable_prune, enable_sts, prune_days, prune_viewed, prune_freq, forum_options, forum_flags, left_id, right_id) VALUES (10, 1, 0, '', 'Aquarienvorstellungen', '', '', '', 7, '', '', '', 7, '', '', '', 2, 1, 0, 0, 1, 0, 0, 0, 7, 7, 1, 0, 48, '86', 87)

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 757
CALL: trigger_error()

FILE: [ROOT]/includes/db/mysql.php
LINE: 175
CALL: dbal->sql_error()

FILE: [ROOT]/includes/acp/acp_forums.php
LINE: 1030
CALL: dbal_mysql->sql_query()

FILE: [ROOT]/includes/acp/acp_forums.php
LINE: 189
CALL: acp_forums->update_forum_data()

FILE: [ROOT]/includes/functions_module.php
LINE: 507
CALL: acp_forums->main()

FILE: [ROOT]/adm/index.php
LINE: 75
CALL: p_master->load_active()
Die Meldung erscheint, egal in welcher Kategorie ich ein neues Forum erstellen will.

Kann mir irgendwer sagen, was da passiert ist, und wie ich das wieder abstellen kann ?

Ach ja, Grund für die Änderung war der Test des folgenden Codeschnipsels für eine automatische Umfrage:
Finde in posting.php

Code: Alles auswählen

    else
        {
            $post_data['poll_title']        = utf8_normalize_nfc(request_var('poll_title', '', true));
und füge davor ein:

Code: Alles auswählen

elseif ((int)$forum_id == 10) // alle Themen im Forum 10 sind Umfragen (passe Forum ID an). Alle Anpassungen gelten nur für zukünftige Themen.
    {
        $post_data['poll_title']        = utf8_normalize_nfc(request_var('subject', '', true)); // das ist der Titel der Umfrage (gleich Thementitel)
        $post_data['poll_length']        = 10; // 10 Tage, wenn kein Zeitlimit setze es 0
        $post_data['poll_option_text']    = utf8_normalize_nfc("1\n2\n3\n4\n5\n6\n7\n8\n9\n10"); // 10 feste Optionen als Vorgabe
        $post_data['poll_max_options']    = 1; // User kann ur ein wählen
        $post_data['poll_vote_change']    = ($auth->acl_get('f_votechg', $forum_id) && $auth->acl_get('f_vote', $forum_id) && isset($_POST['poll_vote_change'])) ? 1 : 0;
    }
Da mir das aber nicht gefiel, habe ich die Sicherung der posting.php wieder eingesetzt.
Viele Grüße
Frank
Wer weiß, daß er nichts weiß, der weiß immerhin etwas. Dadurch ist der Anfang für größeres Wissen geschaffen.
Benutzeravatar
Crizzo
Administrator
Administrator
Beiträge: 12113
Registriert: 19.05.2005 21:45
Kontaktdaten:

Re: Änderung im ACP Forenbereich, dann Fehlermeldung

Beitrag von Crizzo »

Hi,

hast du diesen Artikel schon mal gelesen und ausprobiert: KB:no_default

cyjo5
Mitglied
Beiträge: 41
Registriert: 31.07.2012 22:23

Re: Änderung im ACP Forenbereich, dann Fehlermeldung

Beitrag von cyjo5 »

Hallo und danke für die Info.

Hab ich dann mal gelesen und probiert. Da kommt dann ne Liste mit SQL Einträgen, die als docx file mal eben über 10 Seiten lang ist. Habe mal angefangen das abzuarbeiten, aber keine Fehler gefunden.
Dann bin ich auf die Idee schlechthin gekommen. :oops: :oops: :oops: :oops:
Ich hab mal das Update von phpBB und der Datenbank von vor dem "spielen" am STS-Mod aufgespielt. dann klappt alles wieder.
Habe mir da wohl irgendwo selbst was zerschossen ohne es zu merken.

Mann ist das Peinlich.


lg

Frank
Viele Grüße
Frank
Wer weiß, daß er nichts weiß, der weiß immerhin etwas. Dadurch ist der Anfang für größeres Wissen geschaffen.
noth
Mitglied
Beiträge: 6
Registriert: 11.01.2011 06:13

Re: Änderung im ACP Forenbereich, dann Fehlermeldung

Beitrag von noth »

Ich muss das Thema nochmal aufgreifen. Bei mir ist vermutlich dasselbe Problem aufgetaucht, was ich mit den bisherigen Lösungsvorschlägen allerdings nicht lösen konnte.

Ursprünglich hatte ich mich nur gewundert warum eine bestimmte Benutzerrolle nicht mehr auf ein Unterforum zugreifen konnte. Dabei hab ich festgestellt dass das Forum aus irgendeinem Grund als ein Unterforum eines anderen Forums markiert war statt als Unterforum einer Kategorie. Das hab ich mehrfach versucht zu ändern. Wurde dann zwar so angezeigt, änderte aber an der Lage des Forums nichts.
Hab das Unterforum dann gelöscht und neu eingefügt.
Später hab ich festgestellt dass beim hin und herschieben der Foren/Kategorien (hatte gedacht dass ich vielleicht das Problem lösen kann in dem ich die jeweiligen Kategorien noch mal neu mache und Beiträge dorthin verschiebe) festgestellt, dass sich von der Struktur her da einiges völlig vermurkst hatte.
Was vorher Kategorie 1, 2 und 3 war mit Unterforen a bis c war plötzlich Unterforum c aus Kategorie 3, welche wiederum ein Unterforum von "kategorie 2" als ein Unterforum von Kategorie 1 war. Also zumindest in der Anzeige im ACP. Was ja mal völliger Blödsinn war. Als ich das dann weiter versucht hab zu bearbeiten kam folgende Fehlermeldung:

Code: Alles auswählen

SQL ERROR [ mysql4 ]

Out of range value for column 'left_id' at row 1 [1264]

SQL

UPDATE phpbb_forums SET left_id = left_id + CASE WHEN left_id BETWEEN 13 AND 8 THEN -12 ELSE -4 END, right_id = right_id + CASE WHEN right_id BETWEEN 13 AND 8 THEN -12 ELSE -4 END, forum_parents = '' WHERE left_id BETWEEN 1 AND 8 AND right_id BETWEEN 1 AND 8

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 757
CALL: trigger_error()

FILE: [ROOT]/includes/db/mysql.php
LINE: 175
CALL: dbal->sql_error()

FILE: [ROOT]/includes/acp/acp_forums.php
LINE: 1898
CALL: dbal_mysql->sql_query()

FILE: [ROOT]/includes/acp/acp_forums.php
LINE: 252
CALL: acp_forums->move_forum_by()

FILE: [ROOT]/includes/functions_module.php
LINE: 507
CALL: acp_forums->main()

FILE: [ROOT]/adm/index.php
LINE: 74
CALL: p_master->load_active()
Ich hatte heute morgen als erstes spontan die Idee ob es sich vielleicht um einen Softwarebug handele und es Sinn macht die php Version auf dem Server auf 5.3.18 zu ändern und sicherheitshalber ein Backup gemacht. Das letzte Backup davor ist leider bald 1 Jahr her und um ca 14000 Beiträge ärmer, weswegen ich das ungern wiederherstellen möchte.

Da die SQL-Fehlermeldung zum Zeitpunkt des Backups heute morgen noch nicht auftrat hatte ich zwischenzeitlich versucht das Backup wiederherzustellen.
Fehlermeldung die da kam (und auch nach wie vor kommt wenn ich das jetzt nochmal probiere):

Code: Alles auswählen

Fatal error: Maximum execution time of 30 seconds exceeded in /www/htdocs/w00c3ff8/board/includes/acp/acp_database.php on line 2425
In dem betreffenden Skript ist an der Stelle folgendes:

Code: Alles auswählen

// modified from PHP.net
function fgetd(&$fp, $delim, $read, $seek, $eof, $buffer = 8192)
{
    $record = '';
    $delim_len = strlen($delim);

    while (!$eof($fp))
    {
        $pos = strpos($record, $delim);
        if ($pos === false)
        {
            $record .= $read($fp, $buffer);
            if ($eof($fp) && ($pos = strpos($record, $delim)) !== false)
            {
                $seek($fp, $pos + $delim_len - strlen($record), SEEK_CUR);
                return substr($record, 0, $pos);
            }
        }
        else
        {
            $seek($fp, $pos + $delim_len - strlen($record), SEEK_CUR);
            return substr($record, 0, $pos);
        }
    }

    return false;
}
Wobei die 6. Zeile von unten besagte Zeile 2425 ist.
Ich kenn mich damit ehrlich gesagt schlichtweg zu wenig aus um da zu erkennen was daran falsch ist o.O

Später hab ich diesen Thread hier gefunden und auch den von BlackHawk verlinkten Thread.
Den Lösungsvorschlag bin ich durch gegangen.

Jetzt sind zumindest wieder alle Foren so sichtbar wie sie es heute morgen waren als ich damit angefangen hab. Die oben genannte Fehlermeldung erscheint auch nicht mehr.
Da vor kurzem noch die betroffenen Rollen alle in dem Bereich schreiben konnten der für die jetzt nicht mehr sichtbar war (sind auch Beiträge der User vorhanden, der letzte Beitrag vom 21.01.) kann ich das Problem noch nicht lange übersehn haben (was meine allererste Vermutung war) sondern es muss jetzt neu dazu gekommen sein.

Gerade bin ich auch nochmal das Administrations-Protokoll seit dem 21.01. durch gegangen. Ich finde aber nichts was eine derartige Veränderung erklärt.

Ist das ein bekanntes Problem? Ich hab bisher nichts gefunden was da richtig zu passte.
Wäre klasse wenn ihr mir weiter helfen könntet!

lg
Benutzeravatar
Crizzo
Administrator
Administrator
Beiträge: 12113
Registriert: 19.05.2005 21:45
Kontaktdaten:

Re: Änderung im ACP Forenbereich, dann Fehlermeldung

Beitrag von Crizzo »

Hi,

hast du mal mit dem KB:stk die Links/Rechts-ID korrigert?

Grüße
noth
Mitglied
Beiträge: 6
Registriert: 11.01.2011 06:13

Re: Änderung im ACP Forenbereich, dann Fehlermeldung

Beitrag von noth »

Das kannte ich garnicht :oops:
Hat das Problem aber gelöst! Vielen Dank :) !
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“