Sessions
    
Stanload
    
    
      
    
  - php
 nicht angemeldet
 nicht angemeldetHallöchen,
ich hätte ein kleines Problemchen, fange aber erst einmal vorne an *g*.
Ich möchte auf bestimmten Seiten es ermöglichen über einen "Zurück"-Link auf die vorherige Seite zu gehen. Da es bei mir nicht so recht mit history.back[] bzw. history.go[] klappen wollten, dachte ich mir, mache ich es doch einfach per Sessions.
Realisiert habe ich folgendes:
eine Seite, welche sich durch Klick auf diversen Links wieder selber aufruft, jedoch mit einem gefüllten $_GET-Paramater, so dass ich im Coding weiß, um welchen Fall es sich handelt.
Ich dachte mir nun, merk Dir einfach die alte URL mit $_SERVER['REQUEST_URI'] in einer Session-Variablen und beim nächsten Aufruf dient der Inhalt für den Aufbau des Zurück-Links.
Ausschauen tut es nun wie folgt:
  
session_start();  
  
// Ergebnisseite  
if(!empty($_GET['ide']))  
{  
 $id_event = intval($_GET['ide']);  
  
 foreach (parse_url($_SESSION['ALT']) as $key => $val)  
 { echo "Feld-ALT $key hat den Wert: $val<br>"; }  
  
 $_SESSION['ALT'] = parse_url($_SERVER['REQUEST_URI']);  
  
 foreach (parse_url($_SESSION['ALT']) as $key => $val)  
 { echo "Feld-ALT $key hat den Wert: $val<br>"; }  
}  
  
// Porträtseite  
elseif(!empty($_GET['idp']))  
{  
 $id_person = intval($_GET['idp']);  
  
 foreach (parse_url($_SESSION['ALT']) as $key => $val)  
 { echo "Feld-ALT $key hat den Wert: $val<br>"; }  
  
 $_SESSION['ALT'] = parse_url($_SERVER['REQUEST_URI']);  
  
 foreach (parse_url($_SESSION['ALT']) as $key => $val)  
 { echo "Feld-ALT $key hat den Wert: $val<br>"; }  
}  
  
// Startseite  
else  
{  
foreach (parse_url($_SESSION['ALT']) as $key => $val)  
{ echo "Feld-ALT $key hat den Wert: $val<br>"; }  
  
 foreach (parse_url($_SESSION['ALT']) as $key => $val)  
 { echo "Feld-ALT $key hat den Wert: $val<br>"; }  
  
 $_SESSION['ALT'] = parse_url($_SERVER['REQUEST_URI']);  
  
 foreach (parse_url($_SESSION['ALT']) as $key => $val)  
 { echo "Feld-ALT $key hat den Wert: $val<br>"; }  
}  
Eigentlich dachte ich, dass zumindest bei den Nicht-Startseiten etwas in $_SESSION['ALT'] (natürlich im echo vor der Zuweisung) stehen sollte, aber dem ist nicht so.
Hat vllt. wer eine kleine dezente Idee für mich :-)?
Bis denn
Stanload
Hi,
Eigentlich dachte ich, dass zumindest bei den Nicht-Startseiten etwas in $_SESSION['ALT'] (natürlich im echo vor der Zuweisung) stehen sollte, aber dem ist nicht so.
Du hast überhaupt nicht kontrolliert, ob etwas in $_SESSION['ALT'] drinsteht.
Was du eventuell kontrolliert hast, ist das Ergebnis der Anwendung von parse_url auf $_SESSION['ALT'].
Hat vllt. wer eine kleine dezente Idee für mich :-)?
Dadurch, dass du parse_url doppelt anwendest, kannst du nicht erwarten, dass da noch sonderlich viel brauchbares herauskommt.
MfG ChrisB
Hallöchen,
Dadurch, dass du parse_url doppelt anwendest, kannst du nicht erwarten, dass da noch sonderlich viel brauchbares herauskommt.
So, hab es noch einmal überarbeitet und auf meinem Portablen Server läuft alles, wie ich es mir vorstelle, nur auf dem Webserver leider nicht.
Ausschauen tut es nun wie folgt
  
session_start();  
  
// Ergebnisseite  
if(!empty($_GET['ide']))  
{  
 $id_event = intval($_GET['ide']);  
  
 $session_alt = $_SESSION['NEU']['query'];  
  
 if(!empty($session_alt))  
 { echo "<p>\n<center>\n<a href=\"index.php?".$session_alt."\">zurück</a>\n</center>\n</p>\n"; }  
 else  
 { echo "<p>\n<center>\n<a href=\"index.php".$session_alt."\">zurück</a>\n</center>\n</p>\n"; }  
  
 $_SESSION['NEU'] = parse_url($_SERVER['REQUEST_URI']);  
}  
  
// Porträtseite  
elseif(!empty($_GET['idp']))  
{  
 $id_person = intval($_GET['idp']);  
  
 $session_alt = $_SESSION['NEU']['query'];  
  
 if(!empty($session_alt))  
 { echo "<p>\n<center>\n<a href=\"index.php?".$session_alt."\">zurück</a>\n</center>\n</p>\n"; }  
 else  
 { echo "<p>\n<center>\n<a href=\"index.php".$session_alt."\">zurück</a>\n</center>\n</p>\n"; }  
  
 $_SESSION['NEU'] = parse_url($_SERVER['REQUEST_URI']);  
}  
  
// Startseite  
else  
{  
 session_unset();  
  
 $_SESSION['NEU'] = parse_url($_SERVER['REQUEST_URI']);  
}  
$_SESSION['NEU'] gibt etwas aus, $session_alt ist leider leer.
Bis denn
Stanload
Hi,
So, hab es noch einmal überarbeitet und auf meinem Portablen Server läuft alles, wie ich es mir vorstelle, nur auf dem Webserver leider nicht.
[...]
$_SESSION['NEU'] gibt etwas aus, $session_alt ist leider leer.
Dann überprüfe, ob die Übernahme der Session-Daten in die nächste Scriptinstanz überhaupt funktioniert, und wenn nicht, checke die Übergabe der Session-ID.
MfG ChrisB