PHP Self mit gesetzten variablen?

vielleicht ist es das, was du suchst:
PHP:
header('Location: '.$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'].'&error=login');


Gruß
 
PHP_SELF verweist eigentlich immer auf die aktuelle Seite, meist steht das selbe drin wie in $_SERVER['REQUEST_URI']. Wie wäre es, wenn du am Ende jeder Seite PHP_SELF in einen Cookie / in der Session speicherst und diesen Wert dann verwendest für den Redirect? Dies mache ich bei meinen Projekten auch immer, zudem hab ich noch ein paar Kriterium, wann der Wert in der Session nicht geändert werden darf.

PHP:
// dein Script
//prüfen, ob der User eingeloggt ist und redirect mit $_SESSION['last_uri']
//...



// Am ende der Seite:
$_SESSION['last_uri'] = $_SERVER['REQUEST_URI'];
Gruß Radhad
 
Ja klar, weil du so in einer Art Endlosschleife landest:

-> $_SESSION["userID"] nicht gesetzt, also nach galerie.php?mode=upload&error=login
---> $_SESSION["userID"] immer noch nicht gesetzt, also nach galerie.php?mode=upload&error=login&error=login
----> $_SESSION["userID"] immer noch nicht gesetzt, also nach galerie.php?mode=upload&error=login&error=login&error=login

... usw.

du musst über
PHP:
if (!isset ($_SESSION["userID"])) {
[...]
}
noch die Routine einbauen, die abgearbeitet werden soll, wenn $_SESSION["userID"] nicht gesetzt ist.

Also so ungefähr:

PHP:
if (!isset ($_SESSION["userID"] && $error == "login") {
     [...]
     $_SESSION["userID"] = "irgendwas";
}
if (!isset ($_SESSION["userID"]))
  {
   // if($_SESSION["userID"] != "0") {
header('Location: '.$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'].'&error=login' );
ob_end_flush();
   exit;
 //  } }
 
Zurück