Selbsternannter Held
Servus,
ich habe auf einer Seite einen kleinen geschützten Bereich angelegt, der an für sich auch soweit seinen Zweck erfüllt, allerdings mit einem Haken: Vorab sei gesagt, dass es einmal einen deutschen Bereich und einmal einen englischen Bereich gibt und beide nach dem selben Schema aufgebaut sind.
Im deutschen Bereich liegen vier Dateien vor:
haendlerbereich.php
auth.php
logout.php
seite1.php - ruft auth.php via include auf
Soweit funktioniert das alles. Wenn ich jetzt aber in den englischen Bereich wechsle, um zu prüfen, ob dort auch alles funktioniert, werde ich nicht zu "seite1.php" weitergeleitet, sondern ich werde zu "haendlerbereich.php" weitergeleitet und verstehe beim besten Willen nicht weshalb.. Die Dateien mit Code folgen auch hier wieder:
retailerarray.php
auth.php
logout.php
seite1.php - wie auch schon zuvor
Ich bin dankbar für jede Hilfe. Meine Vermutung, ohne große Ahnung zu haben, ist, dass es mit den Sessions zusammenhängt? Ich würde mich über Antwort freuen.
Gruß.
ich habe auf einer Seite einen kleinen geschützten Bereich angelegt, der an für sich auch soweit seinen Zweck erfüllt, allerdings mit einem Haken: Vorab sei gesagt, dass es einmal einen deutschen Bereich und einmal einen englischen Bereich gibt und beide nach dem selben Schema aufgebaut sind.
Im deutschen Bereich liegen vier Dateien vor:
- haendlerbereich.php - LogIn Formular mit Code der prüft
- auth.php - guckt, ob Session gültig
- logout.php - beendet momentane Session
- seite1.php - enthält den geschützten Inhalt
haendlerbereich.php
PHP:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
session_unset();
session_destroy();
session_start();
$passwort = $_POST['passwort'];
$hostname = $_SERVER['HTTP_HOST'];
$path = dirname($_SERVER['PHP_SELF']);
// Benutzername und Passwort werden überprüft
if ($passwort == 'haendler50392011') {
$_SESSION['angemeldet'] = true;
// Weiterleitung zur geschützten Startseite
if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') {
if (php_sapi_name() == 'cgi') {
header('Status: 303 See Other');
}
else {
header('HTTP/1.1 303 See Other');
}
}
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/seite1.php');
exit;
}
}
?>
auth.php
PHP:
<?php
session_start();
$hostname = $_SERVER['HTTP_HOST'];
$path = dirname($_SERVER['PHP_SELF']);
if (!isset($_SESSION['angemeldet']) || !$_SESSION['angemeldet']) {
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/haendlerbereich.php');
exit;
}
?>
logout.php
PHP:
<?php
session_start();
session_destroy();
$hostname = $_SERVER['HTTP_HOST'];
$path = dirname($_SERVER['PHP_SELF']);
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/haendlerbereich.php');
?>
seite1.php - ruft auth.php via include auf
Soweit funktioniert das alles. Wenn ich jetzt aber in den englischen Bereich wechsle, um zu prüfen, ob dort auch alles funktioniert, werde ich nicht zu "seite1.php" weitergeleitet, sondern ich werde zu "haendlerbereich.php" weitergeleitet und verstehe beim besten Willen nicht weshalb.. Die Dateien mit Code folgen auch hier wieder:
- retailerarray.php
- auth.php
- logout.php
- seite1.php
retailerarray.php
PHP:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
session_start();
$passwort = $_POST['passwort'];
$hostname = $_SERVER['HTTP_HOST'];
$path = dirname($_SERVER['PHP_SELF']);
// Benutzername und Passwort werden überprüft
if ($passwort == 'haendler50392011') {
$_SESSION['angemeldet'] = true;
// Weiterleitung zur geschützten Startseite
if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') {
if (php_sapi_name() == 'cgi') {
header('Status: 303 See Other');
}
else {
header('HTTP/1.1 303 See Other');
}
}
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/seite1.php');
exit;
}
}
?>
auth.php
PHP:
<?php
session_start();
$hostname = $_SERVER['HTTP_HOST'];
$path = dirname($_SERVER['PHP_SELF']);
if (!isset($_SESSION['angemeldet']) || !$_SESSION['angemeldet']) {
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/retailerarray.php');
exit;
}
?>
logout.php
PHP:
<?php
session_start();
session_destroy();
$hostname = $_SERVER['HTTP_HOST'];
$path = dirname($_SERVER['PHP_SELF']);
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/retailerarray.php');
?>
seite1.php - wie auch schon zuvor
Ich bin dankbar für jede Hilfe. Meine Vermutung, ohne große Ahnung zu haben, ist, dass es mit den Sessions zusammenhängt? Ich würde mich über Antwort freuen.
Gruß.