Seite 1 von 1

[3.2] [GELÖST][3.2] Externer Login, SESSION wird nicht erkannt

Verfasst: 27.03.2019 20:56
von sazambi
Hallo liebe phpBB-Community,
ich habe ein kleines Problem. Und zwar möchte ich, dass meine User, die sich über die Hauptseite https://sub.domain.tld/ einloggen auch direkt im Forum https://sub.domain.tld/forum/ eingeloggt werden. Ich habe hierfür auch ein wunderbares Script gefunden, welches mir das ermöglichen soll. Ich bin dabei der folgenden Anleitung gefolgt: https://developer-blog.net/phpbb-automa ... ner-seite/


Das ist das Resultat:

Code: Alles auswählen

	$phpbb_root_path = 'forum/';
	
	if($phpbb_root_path != '') {
		define('IN_PHPBB', true);
		$phpEx = substr(strrchr(__FILE__, '.'), 1);
		include_once($phpbb_root_path . 'common.'.$phpEx);
		include_once($phpbb_root_path . 'includes/functions_user.'.$phpEx);
	}
	 
	

		$user->session_begin();
		$auth->acl($user->data);
		$user->setup();
		 
		$username_phpbb = request_var('username', $row->forum_username);
		$password_phpbb = request_var('password', $row->forum_passwort);
		 
		if(isset($username_phpbb) && isset($password_phpbb)) {
			$result=$auth->login($username_phpbb, $password_phpbb, true);
			
			
			if ($result['status'] == LOGIN_SUCCESS) {
				echo "You're logged in";
			} else {
				echo $user->lang[$result['error_msg']];
			}
			
		}
	
Wenn ich das Script ausführe wird auch "You're logged in" ausgegeben, sofern ich die richtigen Userdaten eingebe. Deshalb gehe ich davon aus, dass das Script ordnungsgemäß funktioniert. Doch leider bin ich nicht eingeloggt, sofern ich auf das Forum (liegt im Ordner "forum/") wechsle. Ich habe leider keine Ahnung woran das liegt. Die SESSSION, die auf der Hauptseite erstellt wird, scheint im Ordner Forum nicht mehr erkannt zu werden. Dabei liegt alles auf einem gemeinsamen Host. Hat jemand eine Idee?

Vielen Dank schon mal im voraus. :)

Re: [3.2] Externer Login, SESSION wird nicht erkannt

Verfasst: 28.03.2019 00:16
von sazambi
So, ich konnte den Fehler mittlerweile schon etwas eingrenzen. Das Script zum einloggen funktioniert soweit und legt auch die Daten in der Session-Tabelle in der Datenbank an. Das entscheidende Problem ist allerdings, dass bei dem externen Login keine Cookies bei dem User hinterlegt werden. Hat einer eine Idee woran das liegen könnte? Bei einem Login über das Forum klappt alles einwandfrei.

Re: [3.2] [GELÖST][3.2] Externer Login, SESSION wird nicht erkannt

Verfasst: 28.03.2019 12:26
von sazambi
Ich konnte den Fehler finden. Der Fehler lag darin, dass bereits ein Inhalt auf der Seite ausgegeben wurde, bevor das Script ausgeführt wurde. Aus diesem Grund konnten keine Cookies mehr gesetzt werden.

Re: [3.2] [GELÖST][3.2] Externer Login, SESSION wird nicht erkannt

Verfasst: 28.03.2019 12:58
von canonknipser
Danke für deine Rückmeldung, auch wenn du selber fündig geworden bist.
So etwas ist aus deinem Code-Fragment natürlich nicht herauszulesen.

Woran lag es denn? Byte-Order-Mark in der php-Datei? Siehe dazu KB:utf8bom (gilt im Prinzip für ALLE php-Dateien, unabhängig, ob sie zu phpBB gehören oder selbständig sind).
Oder Leerzeilen / html-Code vor dem eigentlichen Beginn des php-scriptes (<?php)?