Guten Abend,
ich bastel gerade etwas und würde gerne wissen auf welche Seiten ein session_start(); muss.
Da ich auf jeder seite den bereich zuum einloggen habe (sidebar) welcher bei eingeloggten usern ausgeblendet bzw ersetzt wird mit untermenüs , müsste es doch auf jede seite?
Andererseits schickt er mich ja immer zum ein loggen wenn ich nicht eingeloggt bin sodass ein nicht eingeloggter user die seite nichtmehr sieht?!
Stimmt das so?
Ankündigung
Einklappen
Keine Ankündigung bisher.
[Erledigt] Auf welche Seiten muss session_start();
Einklappen
Neue Werbung 2019
Einklappen
X
-
[Erledigt] Auf welche Seiten muss session_start();
Stichworte: -
-
Stimmt, ich bezog mich generell auf was weiter oben.. hab es im Post oben ergänzt, hoff zusammenhang ist jetzt besser erkennbar. Sollte eine Info sein zwecks Feststellung ob schon eine Session gestartet/wiederaufgenommen wurde.
-
Die Session-ID meinte ich gar nicht.
$_SESSION["id"] soll die ID des Nutzers aus der Datenbank (MySQL oä) sein, wenn also ID eine auto_increment-Spalte ist gibt es nur Nutzer-IDs >= 1, demnach ist man mit $_SESSION["id"]==0 nicht angemeldet, da es keinen Nutzer mit dieser ID gibt.
Einen Kommentar schreiben:
-
und würde gerne wissen auf welche Seiten ein session_start(); muss.
http://php.net/manual/en/function.session-id.php
Return Values ¶
session_id() returns the session id for the current session or the empty string ("") if there is no current session (no current session id exists).
Einen Kommentar schreiben:
-
PHP-Code:
session_start();
if (!isset($_SESSION["id"])) $_SESSION["id"] = 0;
...
Beim Login weist du $_SESSION["id"] die User-ID zu
...
If ($_SESSION["id"])
echo "Eingeloggt"; //$seite->addMenu("<a href=\"logout.php\">Ausloggen</a>");
else
echo "Bitte anmelden"; //$seite->addMenu("<form method=\"post\"><input type=\"text\" usw><br><input type=\"password\" usw></form>");
Einen Kommentar schreiben:
-
Zitat von valentine Beitrag anzeigenNun kommt aber der Clou, was passiert mit nicht eingeloggten usern.
Einen Kommentar schreiben:
-
Ich bedanke mich, also kann ich die session_start(); quasi in ne include packen, eventuell die config.inc.php direkt zu beginn das sesseion_start laden, da ich es auf jeder seite benötige aus dem Grund das ja der Loginbereich dann durch etwas anderes u.a dem logoutbutton ersetzt wird.
Nun kommt aber der Clou, was passiert mit nicht eingeloggten usern. Wenn ich gleich frage ob der user eingeloggt ist und ein NEIN bekomme wird er mir ja nicht den seiten inhalt anzeigen sondern den Spruch Loggen sie sich bitte ein.
Einen Kommentar schreiben:
-
ich bastel gerade etwas und würde gerne wissen auf welche Seiten ein session_start(); muss.
LG
EDIT: tkausl war schneller
Einen Kommentar schreiben:
-
Es geht hierbei nicht um Login o.ä., session_start() ist nicht (nur) dazu da, um eine neue Session zu starten, sondern auch um eine bestehende wieder zu laden. Du musst also session_start() auf jeder Seite aufrufen, wo du Zugriff auf die Session brauchst.
Einen Kommentar schreiben:
Einen Kommentar schreiben: