Problem mit session_begin() und session_page

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
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
Roachh
Mitglied
Beiträge: 21
Registriert: 14.05.2007 19:07
Kontaktdaten:

Problem mit session_begin() und session_page

Beitrag von Roachh »

Guten Abend,

ich habe mir eine errorseite in mein phpbb3 forum eingebaut welche ich über eine htaccess datei aufrufe. das funktioniert auch soweit. ABER ich habe festgestellt das diese seite auch aufgerufen wird wenn irgendwo ein bild fehlt oder irgendetwas anderes. Also wenn zb ein bild in einem Post fehlt, wird im hintergrund diese errorseite ausgeführt.
Das Problem was daraus resultiert ist das bei "Wer ist online?" immer nur "Startseite" als aktuelle Tätigkeit steht da die errorseite immer die session_page überschreibt.

ich habe versucht das ganze mit

Code: Alles auswählen

$user->session_begin(false);
zu umgehen, jedoch zeigt das irgendwie keine wirkung.
in der funktion session_begin steht, wenn ich das richtig verstehe, das der parameter false ein überschreiben der session_page verhindert. macht er aber irgendwie nicht.

weiß einer von euch woran das liegen könnte?

danke und mfg

Roach
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Beitrag von Dave »

Hi
includes/session.php

Code: Alles auswählen

if ($this->time_now - $this->data['session_time'] > 60 || ($this->update_session_page && $this->data['session_page'] != $this->page['page']))
Da liegt der Fehler... Das müßtest du anpassen.

MfG
Dave
Roachh
Mitglied
Beiträge: 21
Registriert: 14.05.2007 19:07
Kontaktdaten:

Beitrag von Roachh »

danke für die antwort :),

Code: Alles auswählen

if (($this->update_session_page && $this->time_now - $this->data['session_time'] > 60) || ($this->update_session_page && $this->data['session_page'] != $this->page['page']))
könnte das klappen ? ich teste es einfach mal
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Beitrag von Dave »

Roachh
Mitglied
Beiträge: 21
Registriert: 14.05.2007 19:07
Kontaktdaten:

Beitrag von Roachh »

also ich habe es jetzt an beiden stellen in der session.php geändert aber es klappt irgendwie nicht, ich beobachte das jetzt nich eine weile und dann schau ich weiter :)
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Beitrag von Dave »

Ups habe da was übersehen...

Naja.. Ehrlich gesagt habe ich dann auch keine ahnung.

EDIT: Teste einfach mal indem du volgenden Teil auskommentierst (Zeile 625):

Code: Alles auswählen

$sql_ary['session_page'] = (string) substr($this->page['page'], 0, 199);
Roachh
Mitglied
Beiträge: 21
Registriert: 14.05.2007 19:07
Kontaktdaten:

Beitrag von Roachh »

schade, war so ein schöner ansatz :)

edit: konnte das ein wenig weiter einkreisen :)
das problem tritt nur bei gästen auf, nicht bei registrierten (ob es bei bots so ist, weiß ich nicht da gerade keiner da ist :) )
also das mit dem session_begin(false) klappt fast
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Beitrag von Dave »

Übergib mal in der URL die session_id... vieleicht hilft das ja :wink:
Roachh
Mitglied
Beiträge: 21
Registriert: 14.05.2007 19:07
Kontaktdaten:

Beitrag von Roachh »

Hallo,
okay, der fehler liegt eindeutig bei der htacess weiteleitung wenn eine datei fehlt... wenn ich das session_begin(false); in einer anderen datei benutze, wird die session_page nicht aktualisiert!
könnte ich nicht in der session.php abfragen welche datei sie aufgerufen hat und dann

Code: Alles auswählen

if($page != 'error.php')
{
    update
}
wenn ja: wie und wo könnte ich das machen ? bin leider nicht ganz so fit in php :|
Antworten

Zurück zu „[3.0.x] Mods in Entwicklung“