Sesja jest sposobem przechowywania informacji (in variables) do stosowania na wielu stronach.
W przeciwieństwie cookie, informacje nie są przechowywane na komputerze użytkownika.
Co to jest sesja PHP?
Podczas pracy z aplikacją, otworzyć go, zrobić kilka zmian, a następnie ją zamknąć. To jest bardzo podobny do sesji. Komputer wie, kim jesteś. Wie, kiedy uruchomić aplikację i kiedy skończyć. Ale w internecie jest jeden problem: serwer WWW nie wie kim jesteś i co robisz, ponieważ adres HTTP nie utrzymuje stan.
Zmienne sesji rozwiązać ten problem poprzez przechowywanie informacji o użytkowniku, aby być stosowany na wielu stronach (eg username, favorite color, etc) . Domyślnie zmienne sesyjne trwać dopóki użytkownik zamknie przeglądarkę.
Więc; Zmienne sesji posiadać informacje na temat jednego użytkownika i są dostępne dla wszystkich stron w jednej aplikacji.
Wskazówka: Jeśli zajdzie potrzeba stałego przechowywania, można przechowywać dane w bazie danych .
Rozpoczęcie sesji PHP
Sesja rozpoczyna się z session_start() funkcji.
zmienne sesyjne są z globalną zmienną PHP: $ _SESSION.
Teraz stwórzmy nową stronę o nazwie "demo_session1.php" . Na tej stronie, możemy rozpocząć nową sesję PHP i ustawić kilka zmiennych sesji:
Przykład
<?php
// Start the session
session_start();
?>
<!DOCTYPE
html>
<html>
<body>
<?php
// Set session
variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"]
= "cat";
echo "Session variables are set.";
?>
</body>
</html>
Uruchomić przykład » Note: session_start() funkcja musi być pierwszą rzeczą w dokumencie. Przed podjęciem jakichkolwiek znaczników HTML.
Uzyskaj wartości zmiennych sesji PHP
Następnie tworzymy kolejną stronę o nazwie "demo_session2.php" . Od tej stronie mamy dostęp do informacji o sesji mamy ustawiony na pierwszej stronie ("demo_session1.php") .
Zauważ, że zmienne sesji nie są przekazywane indywidualnie do każdej nowej strony, zamiast tego są pobierane z sesji otwieramy na początku każdej strony ( session_start() ).
Również zauważyć, że wszystkie wartości zmiennej sesji są przechowywane w globalnej zmiennej $ _SESSION:
Przykład
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Echo session variables that were set on previous
page
echo "Favorite color is " . $_SESSION["favcolor"]
. ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"]
. ".";
?>
</body>
</html>
Uruchomić przykład » Innym sposobem, aby pokazać wszystkie wartości zmiennej sesji dla sesji użytkownika jest uruchomienie następujący kod:
Przykład
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
print_r($_SESSION);
?>
</body>
</html>
Uruchomić przykład » Jak to działa? Jak to wie, że to ja?
Większość sesji ustawiona przez użytkownika przycisku na komputerze użytkownika, który wygląda mniej więcej tak: 765487cf34ert8dede5a562e4f3a7e12. Potem, gdy sesja jest otwarta na innej stronie, skanuje komputer dla użytkownika kluczu. Jeśli jest mecz, to że dostęp do sesji, jeśli nie, to rozpoczyna nową sesję.
Zmodyfikować zmienną PHP Session
Aby zmienić zmiennej sesji, po prostu zastąpić go:
Przykład
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
//
to change a session variable, just overwrite it
$_SESSION["favcolor"] =
"yellow";
print_r($_SESSION);
?>
</body>
</html>
Uruchomić przykład » Zniszczyć sesji PHP
Aby usunąć wszystkie globalne zmienne sesji i zniszczyć sesji, użyj session_unset() i session_destroy() :
Przykład
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
//
remove all session variables
session_unset();
// destroy the
session
session_destroy();
?>
</body>
</html>
Uruchomić przykład »