Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Login Problem (session)
Frage
hallo,
ich habe eine Login Seite...
am anfang frage ich ab ob isch schon eingeloggt bin:
<?php
session_start();
if(session_is_registered('login') || $_SESSION['login'] != "") {
header("location:../default.php?site=".$action);
}
require("../include/connect.inc.php");
?>
da ist aber auch schon das prob... das scheint nicht zu gehen... die session "login" ist nicht mehr registriert...
was muss ich machen um mich nicht immer einloggen zu müssen?
gruss beat
Antwort 1 von Nessus
Hi,
Du musst die Sessiondaten natürlich an die Zielseite übergeben. Der Browser ist Dumm, er vergißt die Daten sofort.
Ggf. mußt Du auf Cookies ausweichen.
Nessus
Du musst die Sessiondaten natürlich an die Zielseite übergeben. Der Browser ist Dumm, er vergißt die Daten sofort.
Ggf. mußt Du auf Cookies ausweichen.
Nessus
Antwort 2 von semi
Ich denke, das Problem ist eher, dass Du nach den header befehl mit dem require einfach fortsetzts.
Klartext: Hinter header(...) fehlt exit();
Gruß,
Michael
Klartext: Hinter header(...) fehlt exit();
Gruß,
Michael
Antwort 3 von Feuervogel
öhm, nessus? ich übergebe die sessiondaten nie, und wenn der browser sie nicht übergeben kann oder das abgestellt ist, dann werden sie automatisch per url übergeben.
ich sehe in dem codeschnipsel mehrere bugs/ungereihmtheiten:
nun den code, wie ich ihn schreiben würde:
überprüfe bitte tippfehler
ich sehe in dem codeschnipsel mehrere bugs/ungereihmtheiten:
<?php
session_start();
#soweit okay
if(session_is_registered('login') || $_SESSION['login'] != "")
#hier fängts schon an. du fragst, ob die session "login" schon registriert ist ODER ob sie ungleich "" ist.
{
header("location:../default.php?site=".$action);
#variablen innerhalb '"' werden interpoliert, also brauchst du keinen conector.
}
require("../include/connect.inc.php");
?>
nun den code, wie ich ihn schreiben würde:
<?php
session_start();
if(isset($_SESSION['login']) && $_SESSION['login'] != "")
{
header("location:../default.php?site=$action");
exit();
}
require("../include/connect.inc.php");
?>
überprüfe bitte tippfehler

