Update: 3.06-3.07PL1 - Fehler in Redirect

phpBB 3.0 hat sein "End of Life" erreicht. Eine Neu-Installation wird nicht mehr unterstützt.
Gesperrt
peperonii
Mitglied
Beiträge: 2
Registriert: 11.04.2010 17:57

Update: 3.06-3.07PL1 - Fehler in Redirect

Beitrag von peperonii »

Hallo

Seit dem Update von phpBB3 3.06 auf 3.07PL1 geht die (ext.) Weiterleitung nach erfolgreicher Anmeldung nicht mehr auf die ursprüngliche URL zurück.
In der URL '&redirect=/chat/index.php' wird das Verzechnis /chat/ ignoriert, somit auch der Link fehlschlägt.
In der vorherigen Version lief das einwandfrei, wäre um einen Hinweis sehr dankbar.

Verzeichnis-Struktur:
-------------------------
-->root
---->/chat
---->/forum

Ablauf:
---------
User verbindet sich mit http://localhost/chat, falls er nicht bereits im Forum angemeldet ist wird er direkt zum Forum weitergeleitet --> http://localhost/phpBB3/ucp.php?mode=lo ... /index.php. Siehe Code...

Bei erfolgreicher Anmeldung wird der User wieder auf die ursprüngliche URL http://localhost/chat/index.php weitergeleitet, hier aber liegt das Problem.
Response:phpBB3: --> http://localhost/index.php&sid=17ac9461 ... f65045cb62
Das Sub-Verzeichnis /chat/ ist weg!


Code: (externe seite )
--------------------------

Code: Alles auswählen

#
define('IN_PHPBB', true);
$phpbb_root_path = '../phpBB3/'; // See phpbb_root_path documentation
$phpEx = substr(strrchr(__FILE__, '.'), 1); // Set the File extension for page-wide usage.
include($phpbb_root_path . 'common.' . $phpEx); // include the common.php file, this is important, especially for database connects.

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('viewforum');

get_username_string ;
$oog_username = $user->data [username];


// redirect to phpBB logon page if the user is not logged in
if ($oog_username == "Anonymous")
    {
	header("Location: http://" . $_SERVER[SERVER_NAME] ."/phpBB3/ucp.php?mode=login&redirect=/chat/index.php");
    }

$utz = $user->data['user_timezone']; // Get user's time zone information from phpBB3 account settings

#
peperonii
Mitglied
Beiträge: 2
Registriert: 11.04.2010 17:57

Re: Update: 3.06-3.07PL1 - Fehler in Redirect

Beitrag von peperonii »

Falls für jemand von Interesse, hier noch die Lösung:

/includes/functions.php

Folgende neuen Codierungen müssen in diesem Fall auskommentiert werden:

Code: Alles auswählen

'S_LOGIN_ACTION'		=> ((!defined('ADMIN_START')) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login') : append_sid("index.$phpEx", false, true, $user->session_id)),
'S_LOGIN_REDIRECT'		=> build_hidden_fields(array('redirect' => str_replace('&', '&', build_url()))),
und mit dieser Zeile ersetzt werden:

Code: Alles auswählen

'S_LOGIN_ACTION'		=> (!defined('ADMIN_START')) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login') . '&redirect=' . urlencode(str_replace('&', '&', build_url())) : append_sid("index.$phpEx", false, true, $user->session_id) . '&redirect=' . urlencode(str_replace('&', '&', build_url())),
und dann klappt das wieder... :cookie:
Gesperrt

Zurück zu „[3.0.x] Installation, Update und Konvertierung“