Error updating sessions table ?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Groovecommander
Mitglied
Beiträge: 119
Registriert: 26.03.2004 16:39

Error updating sessions table ?

Beitrag von Groovecommander »

Hallo,

ich habe mir ein paar Seiten gebastelt, die mit dem Header und Footer des phpBB ausgestattet sind.
Wenn ich nun diese Seiten anklicken möchte möchte, bekomme ich folgende Fehlermeldung:
phpBB : Critical Error

Error updating sessions table

DEBUG MODE

SQL Error : 1054 Unknown column 'PAGE_TUT_BWL' in 'field list'

UPDATE phpbb_sessions SET session_time = 1097417978, session_page = PAGE_TUT_BWL WHERE session_id = '2ddbb7716960d23d37315c6c6c9811d3'

Line : 267
File : /absoluter/Pfad/zu/phpBB2/includes/sessions.php
Es ist aber nur manchmal so. Ich kann dann auf zurück klicken, denn aktualisieren und dann geht die Seite auch wieder.

Was kann ich da machen?

Vielen Dank und beste Grüße.
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Was sagt dir diese Zeile?
SQL Error : 1054 Unknown column 'PAGE_TUT_BWL' in 'field list'
SQL versucht eine Spalte zu finden die sich PAGE_TUT_BWL nennt, da diese nicht gefunden wird -> Error

Was aber unbegreiflich ist da zumindest dein Update Statment der SQL Syntax entspricht......

Bin nicht ganz involiert in PHPBB aber die Großschreibung lässt vermuten, das es sich hierbei um eine Kontstante handelt.....

Demzufolge sollte ein das Statment fehlerhaft sein wenn du dieses ausgibst mach mal folgendes:

Code: Alles auswählen

UPDATE phpbb_sessions SET session_time = '1097417978', session_page = '".PAGE_TUT_BWL."' WHERE session_id = '2ddbb7716960d23d37315c6c6c9811d3'
Das Statment so anpassen das PAGE_TUT_BWL als Variable angenommen wird und nicht als String.....

Du könntest auch mal überprüfen ob echo PAGE_TUT_BWL einen Wert enthält.......
Groovecommander
Mitglied
Beiträge: 119
Registriert: 26.03.2004 16:39

Beitrag von Groovecommander »

ich habe aber nichts in der sessions.php geändert.

Code: Alles auswählen

$sql = "UPDATE " . SESSIONS_TABLE . " 
						SET session_time = $current_time, session_page = $thispage_id 
						WHERE session_id = '" . $userdata['session_id'] . "'";
Das müsste der Code aus der Sessions-php sein. Was soll ich da ändern?

Session_page wird doch dynamische erstellt ???


Ich werde mal das Problem noch ein wenig einkreisen.

Sie Seite die gebaut habe, ist eine Art Kategorieseite, d.h. es sind sollen dort Tutorials nach Kategorien verlinkt werden. Die Seiten mit den Tutorials habe ich dann ebenfalls mit nach der Vorlage erstellt. Kann es daran liegen, dass die Session auf den Tutorialseiten wiederum neu gestartet wird siehe

Code: Alles auswählen

/ SESSION MANAGMENT START
    $userdata = session_pagestart($user_ip, PAGE_TUT_BWL);
    init_userprefs($userdata);
// SESSION MANAGMENT END
und sich somit irgenwie nicht verträgt?
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

damit die Session verfügbar ist muss diese auf jeder Seite gestartet werden sonst gibt es keinen Zugriff auf die Session....

Jedoch darf auch keine eigentliche Ausgabe vor einem Session start erfolgen, daher wird die Session eigentlich auch im Header stets gestartet sonst gibt es das besagte Header send already Problem.....

Was z.B. passiert wenn das forum in eine Page einbetten möchte.......

Meine Frage ist:
ist die Kontstante PAGE_TUT_BWL vorhanden?
soweit ich mich nicht irre bzgl. PHPBB wird in der constants.php Kontstanten für die Forenseiten definiert....

Und hier wäre zu prüfen:
a) ist die Kontstante in der constants.php integriert -> Ist ja kein Standard
b) sind die Kontstanten verfügbar sprich kannst du Inhalte abrufen -> includiert?

Das ist eine mögliche Fehlerquelle die ich momentan sehe
Groovecommander
Mitglied
Beiträge: 119
Registriert: 26.03.2004 16:39

Beitrag von Groovecommander »

Ah, danke! Ich glaube das ist es auch. Ich muss also in der constans.php folgende Zeile einfügen?


Code: Alles auswählen

define('PAGE_TUT_BWL', - fortlaufende Zahl);
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

So ist es
Antworten

Zurück zu „Coding & Technik“