Seite 1 von 2

Autologin mit der PHP-Funktion header()

Verfasst: 25.04.2004 19:55
von NdeavourG
Hallo,

ich habe phpBB mittels der PHP-Funktion

Code: Alles auswählen

header("Location: http://www.youth-page.de/board/index.php"); 
in unsere Webpage integriert und stehe nun offenbar aus diesem Grund vor dem Problem, dass das Autologin des Boards nicht mehr funktioniert - obwohl das Kästchen "Bei jedem Besuch automatisch einloggen" aktiviert wurde.

Nach umfangreicher Recherche in diesem Forum und auch im englischen Board hab ich viele verschiedene Cookie-Einstellungen ausprobiert - dennoch will das mit dem Autologin nicht funktionieren!

Ein weiterer Problempunkt ist vielleicht, dass diese PHP-Datei, in der die obige Funktion steht, in einem Frameset aufgerufen wird - wenngleich ich weniger davon ausgehe, dass dies etwas mit dem Problem zu tun hat...

Das phpBB liegt im Verzeichnis
http://www.youth-page.de/board/
und wird über die URL
http://www.young-power.de/body.php?cat=4&id=board
aufgerufen.

Dann gibt es noch die
http://www.young-power.de/index.php?cat=4&id=board,
die wiederum die
http://www.young-power.de/body.php?cat=4&id=board
in ein Frameset einbindet.

Die Probleme nochmal zusammengefasst:
Wenn ich die direkte URL http://www.youth-page.de/board/index.php aufrufe und mich einlogge, kann ich problemlos aktualisieren, das Browserfenster schließen und bin immernoch eingeloggt.
Wenn ich das Board allerdings über die http://www.young-power.de/body.php?cat=4&id=board aufrufe und mich einlogge, bin ich nach einfachem Aktualisieren nicht mehr eingeloggt, stehe aber noch unten in der "User online:"-Liste und KANN mich einige Zeit lang nicht einloggen. Zudem funktioniert bei keiner der Varianten das Auto-Login!

Ich würde mich freuen, wenn mir jemand nochmal glasklar auflisten könnte, welche URLs ich unter Domainname, Cookie-Domain und Cookie-Pfad eintragen muss in diesem speziellen Fall! Falls das Problem tatsächlich an der header()-Funktion liegen sollte, wäre ich für Lösungsvorschläge dankbar.

Schöne Grüße,
- NdeavourG -

Hilfe!

Verfasst: 27.04.2004 12:08
von NdeavourG
:( Hat echt niemand eine Lösung für dieses Problem?
Ich meine, es müsste doch auch bei anderen Boards aufgetreten sein, welche in eine Page über PHP-Funktionen eingebunden wurden?!

Ich weiß jetzt, dass die Cookies offensichtlich richtig eingestellt sind, denn wenn ich das Board "direkt" aufrufe, ohne es innerhalb unserer Website aufrufen zu lassen, funktionieren Autologin und das Aktualisieren!

Grüße,
- NdeavourG -

Verfasst: 27.04.2004 14:15
von itst
Die Domain/Cookie-Domain-Einstellungen müssen auf die Domain angepasst sein, über die das Forum laufen soll. Also entweder young-power.de oder youth-page.de.

Alternative: http://www.phpbb.de/topic47450.html

Danke!

Verfasst: 27.04.2004 21:39
von NdeavourG
Hey, danke!

Ich bin dir zu tausend Dank verpflichtet!
Dieses Snippet funktioniert einwandfrei und behebt alle Probleme - sowohl das mit dem Autologin, als auch das Aktualisierungsproblem (logisch ;) )!

Ich frage mich allerdings, was für einen Sinn dann eigentlich die ursprüngliche Ersetzungsfunktion

Code: Alles auswählen

$server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name'])); 
hat?!
Da müsste ja dann irgendein String der Form ^/beliebigezeichen/$ durch irgendwas ersetzt werden, wenn ich das mit den regulären Ausdrücken einigermaßen richtig verstanden habe. Was bewirkt diese Funktion gegenüber dem

Code: Alles auswählen

$server_name = $_SERVER["SERVER_NAME"];
?
Würde mich mal stark interessieren... wenn sich damit jemand auskennt, würde ich mich über weitere Antworten freuen. ;)

Schöne Grüße,
- NdeavourG -

Verfasst: 28.04.2004 00:52
von itst
phpBB ist eigentlich so konzipiert, das es nur auf einer Domain läuft. Durch die Änderung mit $_SERVER ist es phpBB egal, auf welcher Domain es läuft.

Verfasst: 28.04.2004 16:18
von NdeavourG
Ja, aber was macht es denn für einen Sinn, ein Forum in seiner Funktionsvielfalt einzuschränken, wenn es mit einer solchen kleinen Änderung auch "global" einsetzbar ist?! :-?

Funktioniert doch nicht 100%ig...

Verfasst: 28.04.2004 17:13
von NdeavourG
:-? So...

Jetzt, wo die praktischen Tests angelaufen sind, musste ich feststellen, dass dieses Snippet doch auch nicht ganz soooo gut funktioniert, wie ich zuerst gedacht hatte! Ich surfe nämlich mit dem Mozilla Firefox und da war dann alles bestes nach der kleinen Änderung in der functions.php.

Nun haben aber einige User logischerweise das Board auch mit dem Internet Explorer besucht und hier funktioniert dies merkwürdigerweise überhaupt nicht! Man muss explizit in den Cookie-Einstellungen in den Internetoptionen angeben, dass die Domain "http://www.youth-page.de" ZUGELASSEN werden soll - andernfalls funktioniert es irgendwie nicht, obwohl dies bei anderen Boards offensichtlich sehr gut funktioniert...

und da ich nicht jedem unserer User "zumuten" will, diese Cookieeinstellungen manuell zu ändern, suche ich nach wie vor nach einer anderen Lösung. Woran kann das liegen, dass die Cookies von phpBB in der intergrierten Version nicht angenommen/ zugelassen werden?

Danke für Eure Antworten,
- NdeavourG -

Verfasst: 28.04.2004 18:06
von itst
In sessions.php Zeile 328f

Code: Alles auswählen

	$cookiedomain = $board_config['cookie_domain'];
analog zu dem Snippet ändern.

Verfasst: 28.04.2004 20:08
von NdeavourG
Hey, danke für die schnelle Antwort!
Aber was meinst du genau mit "analog zum Snippet ändern"?

Verfasst: 28.04.2004 21:20
von itst

Code: Alles auswählen

$_SERVER["SERVER_NAME"]