Zur Navigation

wenn sitzungsvariable ohne wert, seite weiterleiten

1 andehrl

ich habe in meiner webseite einen bereich in den ein nutzer sich einloggen muss um die darin enthaltenen seiten zu erreichen ... so die theorie. wenn ich die url mit der entsprechenden unterseite in den browser eingebe komme ich auch ohne mich einzuloggen in den logginbereich. ich würde das gerne vermeiden.
beim einloggen wird eine sitzungsvariable erstellt (der nutzername) über den die erforderlichen date mit der datenbank abgeglichen werden. die folgeseite nach dem einloggen schaut so aus:

<?php
//initialize the session
if (!isset($_SESSION)) {
  session_start();
}

// ** Logout the current user. **
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
  $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
  //to fully log out a visitor we need to clear the session varialbles
  $_SESSION['MM_Username'] = NULL;
  $_SESSION['MM_UserGroup'] = NULL;
  $_SESSION['PrevUrl'] = NULL;
  unset($_SESSION['MM_Username']);
  unset($_SESSION['MM_UserGroup']);
  unset($_SESSION['PrevUrl']);
	
  $logoutGoTo = "AusgeloggtDanke.php";
  if ($logoutGoTo) {
    header("Location: $logoutGoTo");
    exit;
  }
}
?>


kann ich hier einen code einbauen/voranstellen, der prüft ob der sitzungsvariablen ein wert zugewiesen ist (oder anderstherum ob sie keinen inhalt hat). falls die variable keinen wert beinhaltet sollte die seite weitergeleitet werden an zb "8aMeinkontologin.php" und falls die sitzungsvariable einen wert beinhaltet, das script fortgesetzt werden.

18.12.2010 22:37

2 Jörg Kruse

Mit "sitzungsvariable" meinst du vermutlich eine Variable, die in $_SESSION gespeichert ist?

Das kannst du mit empty() in einer if-else Konstruktion überprüfen - oder falls du exit() verwendest, reicht auch eine einfache if Abfrage

if (!isset($_SESSION)) {
  session_start();
}

if (empty($_SESSION['NameDerVariablen'])) {
    header('Location: http://' . $_SERVER['HTTP_HOST'] . '/8aMeinkontologin.php');
    exit;
}

19.12.2010 14:13 | geändert: 19.12.2010 14:15

3 andehrl

Zitat von Jörg
Mit "sitzungsvariable" meinst du vermutlich eine Variable, die in $_SESSION gespeichert ist?

ja genau :-)



Das kannst du mit empty() in einer if-else Konstruktion überprüfen - oder falls du exit() verwendest, reicht auch eine einfache if Abfrage

if (!isset($_SESSION)) {
  session_start();
}

if (empty($_SESSION['NameDerVariablen'])) {
    header('Location: http://' . $_SERVER['HTTP_HOST'] . '/8aMeinkontologin.php');
    exit;
}



funktioniert prima, danke dir :-) :-)

19.12.2010 23:39

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]