Da-Real-Monchichi
Mitglied
Hallo
ich habe auf meiner Seite ein Problem mit redirect...
Und zwar gibt es 2 verschiedene Wege, die ich ein User auffordere sich einzuloggen. Der erste und übliche ist, wenn er auf den Button "Einloggen" drückt...
Der 2. ist, wenn er eine Seite betreten möchte, die ich geschützt habe, dann wird er auf die Logon verwiesen, um sich einzuloggen.
Wenn er sich normal anmelden möchte kommt der Text: Log dich ein
Wenn er eine geschützte Seite betreten will, obwohl er nicht eingeloggt ist, dann kommt die Meldung: Um diese Seite betreten zu können, musst du dich einloggen.
Der Sprung auf die Logon.php funktioniert mit der richtigen Textausgabe, nur eben nicht der Rücksprung auf die Seite, die der User vorher betreten wollte.
Beispiel:
geschützte Seite = ?site=protect
User ist nicht eingeloggt und möchte die Seite ?site=protect betreten
User wird auf Logo.php verwiesen mit Textausgabe: Um diese Seite betreten zu können, musst du dich einloggen
User loggt sich ein
Anstatt jetzt auf die Seite ?site=protect zu kommen, wird er auf die Startseite verwiesen
Irgendetwas läuft da nicht so, wie ich es gerne hätte....
Würde mich freuen, wenn mir jemand einen kleinen Denkanstoß geben könnte... Bin auch ein Anfänger was das angeht, also seiht bitte nachsichtig...
Hier mein Code:
Und das steht in dem File, das von den zu schützenden Seiten am Anfang der Seite angefordert wird... via require_once
vielen Dank schonmal
euer Monchichi
ich habe auf meiner Seite ein Problem mit redirect...
Und zwar gibt es 2 verschiedene Wege, die ich ein User auffordere sich einzuloggen. Der erste und übliche ist, wenn er auf den Button "Einloggen" drückt...
Der 2. ist, wenn er eine Seite betreten möchte, die ich geschützt habe, dann wird er auf die Logon verwiesen, um sich einzuloggen.
Wenn er sich normal anmelden möchte kommt der Text: Log dich ein
Wenn er eine geschützte Seite betreten will, obwohl er nicht eingeloggt ist, dann kommt die Meldung: Um diese Seite betreten zu können, musst du dich einloggen.
Der Sprung auf die Logon.php funktioniert mit der richtigen Textausgabe, nur eben nicht der Rücksprung auf die Seite, die der User vorher betreten wollte.
Beispiel:
geschützte Seite = ?site=protect
User ist nicht eingeloggt und möchte die Seite ?site=protect betreten
User wird auf Logo.php verwiesen mit Textausgabe: Um diese Seite betreten zu können, musst du dich einloggen
User loggt sich ein
Anstatt jetzt auf die Seite ?site=protect zu kommen, wird er auf die Startseite verwiesen
Irgendetwas läuft da nicht so, wie ich es gerne hätte....
Würde mich freuen, wenn mir jemand einen kleinen Denkanstoß geben könnte... Bin auch ein Anfänger was das angeht, also seiht bitte nachsichtig...
Hier mein Code:
Code:
//das brauch nicht beachtet werden, ist nur für Sprachumschaltung und Textinclude...
<?php
error_reporting(E_ALL);
if (!isset($_SESSION)) {
session_start();
}
if ( !isset($_SESSION['lang_session']) )
{
$_SESSION['lang_session'] = "de";
$absolute_include="lang/lang_de.php";
$folder_depth = substr_count($_SERVER["PHP_SELF"] , "/");
if($folder_depth == false) $folder_depth = 1;
@include(str_repeat("../", $folder_depth - 1) . $absolute_include);
}
else if( isset($_SESSION['lang_session']) )
{
$absolute_include="lang/lang_".$_SESSION['lang_session'].".php";
$folder_depth = substr_count($_SERVER["PHP_SELF"] , "/");
if($folder_depth == false) $folder_depth = 1;
@include(str_repeat("../", $folder_depth - 1) . $absolute_include);
}
else
{
$_SESSION['lang_session'] = "de";
include("lang/lang_de.php");
}
//ende Sprachinclude und umschlatung
// Ab hier ist die Funktion mit dem redirect
if (isset($_SESSION['redirectLink'])) {
$redir_target = $_SESSION['redirectLink'];
$login_text = $lang['login9'];
}
else {
$redir_target = '/index.php';
$login_text = $lang['login1'];
}
unset($_SESSION['redirectLink']);
?>
Und das steht in dem File, das von den zu schützenden Seiten am Anfang der Seite angefordert wird... via require_once
Code:
<?php
// Wenn Session-Cookie besteht auf gültiges Login prüfen
if ($_COOKIE['mycook_sid'])
{
// Datenbankverbindung herstellen
require_once($_SERVER['DOCUMENT_ROOT'].'/_................./dbDaten.class.php');
$db =& new dbDaten;
// Datanbank abfragen
$sql = 'SELECT * FROM phpbb_sessions WHERE session_id = "'.$_COOKIE[mycook_sid'].'" ';
$session_data = @$db->getRow($sql);
}
// Wenn nicht eingeloggt, Login-Form anzeigen
if (!$_COOKIE[mycook_sid'] || $session_data['session_logged_in'] != '1')
{
session_start();
$_SESSION['redirectLink'] = $_SERVER['PHP_SELF'];
Header('Location: /logon.php');
exit();
}
?>
vielen Dank schonmal
euer Monchichi
Zuletzt bearbeitet: