web-dev-qa-db-de.com

Sitzungsbeginn auf 1 Seite oder alle Seiten schreiben?

Alle Tutorials geben an, dass die Sitzung beginnen soll. Sie sagen nicht, ob das auf allen Seiten der Website sein soll oder auf einigen oder nur auf 1.

Und wenn es nur eine Seite ist, muss es die Hauptseite sein? Oder eine Seite mit einem von mir erstellten Formular, das die Sitzungs-ID in die Datenbank einfügt? Wenn der Besucher niemals eine Seite mit einer Sitzungs-ID besucht, sich aber auf der Site befindet, hat er dann noch eine Sitzungs-ID?

16
hmwhat

Sie müssen dies in jede Seite einfügen, die auf die Sitzungsdaten zugreifen muss, bevor Sie auf Sitzungsdaten zugreifen (oder diese erstellen).

Siehe: http://php.net/manual/en/function.session-start.php

19
theprogrammer

Der Vollständigkeit halber können Sie session_start(); auf allen Seiten, in nur einer oder in keiner von ihnen schreiben. Lassen Sie mich das erklären.

Sie müssen die Sitzung in jedem Skript starten, in dem Sie Zugriff auf die Variable $_SESSION benötigen. Statt jedoch session_start(); in jedes einzelne Skript einzufügen, können Sie eine Datei headers.php erstellen und den gesamten sich wiederholenden Code einschließlich session_start(); dort ablegen.

Wenn alles in Ihrer Anwendung Zugriff auf $_SESSION benötigt, können Sie die Verwendung von session_start(); vergessen, indem Sie einfach session.auto_start = 1 in Ihrer php.ini-Datei einstellen. Sie können auf $_SESSION zugreifen, ohne zuvor session_start(); zu schreiben.

Mehr hier

14
Memochipan

Sie müssen session_start () deklarieren. Auf jeder Seite, wenn Sie Daten aus $ _SESSION abrufen oder Daten in $ _SESSION auf dieser bestimmten Seite speichern möchten. Wenn Sie nicht mit $ _SESSION interagieren müssen, müssen Sie session_start (). @ Hmwhat nicht deklarieren

0
Shafiqul Islam

Alles, was auf Sitzungsvariablen zugreifen soll, muss die Sitzung starten.

Es sei denn, Sie haben eine PHP-Seite, die nicht von der Sitzung abhängig ist, als jede Seite es benötigt.

0
Alex