Ich habe gesucht und gegoogelt
Was dort steht funktioniert lokal auf einem Testsystem recht gut.
Ich vermute das mein Problem evtl etwas mit Cookies zu tun hat und davon verstehe ich noch recht wenig.
Folgendes ist die Lage
http://www.xxx.info
http://forum.xxx.info
http://www.xxx.info/xx.php soll ein Login erhalten
Code: Alles auswählen
<form action="http://forum.xxx.info/login.php" method="POST">
Benutzername:<br><input type="text" class="form_textfield" name="username">
Passwort:<br><input type="password" class="form_textfield" name="password">
Autologin? <br><input type="checkbox" class="form_checkbox" name="autologin">
<input type="hidden" name="redirect" value="http://www.xxx.info/xx.php?seriennummer=<?=$UID?>">
<input type="submit" name="login" value="Login"/>
</form>
Code: Alles auswählen
//Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = '../../forum.xxx.info/xxx_forum/';
define('IN_PHPBB', true);
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
Nun nutzt er das Login des Forums (habe mal in den Funktionen ein "die" eingebaut um zu sehen ob er das überhaupt durchläuft) und ich werde wieder auf die Ursprungsseite zurückgeleitet.. aber leider bin ich nicht angemeldet.$phpbb_root_path = '../../forum.xxx.info/xxx_forum/';
Dies habe ich so gewählt weil sonst eine Warnung ausgegeben wird, wenn ich direkt http://forum.xxx.info/ eingebe.
Dieser Pfad stimmt auf dem Server auch
Liegt das an den Domains? Kann man das dennoch hinbekommen?
--edit
Interessant ist auch, dass ich bei Mozilla wieder redirectet werde.
Beim IE findet er nichtmal die http://forumxx.info/login.php ?? wenn ich in der Adressleiste dann aber einfach nochmal enter drücke, findet er dies.
Code: Alles auswählen
function redirect($url)
{
global $db, $board_config;
if (!empty($db))
{
$db->sql_close();
}
if (strstr(urldecode($url), "\n") || strstr(urldecode($url), "\r"))
{
message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');
}
$server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
$server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name']));
$server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) : '';
$script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path']));
$script_name = ($script_name == '') ? $script_name : '/' . $script_name;
[b]//$url = preg_replace('#^\/?(.*?)\/?$#', '/\1', trim($url));[/b]
// Redirect via an HTML form for PITA webservers
if (@preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')))
{
header('Refresh: 0; URL=' . $server_protocol . $server_name . $server_port . $script_name . $url);
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta http-equiv="refresh" content="0; url=' . $server_protocol . $server_name . $server_port . $script_name . $url . '"><title>Redirect</title></head><body><div align="center">If your browser does not support meta redirection please click <a href="' . $server_protocol . $server_name . $server_port . $script_name . $url . '">HERE</a> to be redirected</div></body></html>';
exit;
}
// Behave as per HTTP/1.1 spec for others
[b] //header('Location: ' . $server_protocol . $server_name . $server_port . $script_name . $url);
if(substr($url, 1, 8) == 'http://') {
header('Location: ' . $url);
}else {
header('Location: ' . $server_protocol . $server_name . $server_port . $script_name . $url);
}[/b]
exit;
In Fett habe ich die Änderungen hervorgehoben.
Den ersten Teil musste ich auskommentieren da sonst die URL immer /http://... da stehen hatte