Samouczek PHP

Strona główna PHP Wprowadzenie do PHP Instalacja PHP Składnia PHP Komentarze PHP Zmienne PHP PHP Echo / Drukuj Typy danych PHP Ciągi PHP Liczby PHP Matematyka w PHP Stałe PHP Operatory PHP PHP Jeśli...Inne...Elseif Przełącznik PHP Pętle PHP Funkcje PHP Tablice PHP PHP Superglobals PHP RegEx

Formularze PHP

Obsługa formularzy PHP Walidacja formularzy PHP Wymagany formularz PHP Adres URL/e-mail formularza PHP Formularz PHP kompletny

Zaawansowany PHP

Data i godzina w PHP Uwzględnij PHP Obsługa plików PHP Otwórz/odczytaj plik PHP Tworzenie/zapisywanie plików PHP Przesyłanie plików PHP Pliki cookie PHP Sesje PHP Filtry PHP Zaawansowane filtry PHP Funkcje wywołania zwrotnego PHP PHP JSON Wyjątki PHP

PHP OOP

PHP Co to jest OOP Klasy/obiekty PHP Konstruktor PHP Destruktor PHP Modyfikatory dostępu PHP Dziedziczenie PHP Stałe PHP Klasy abstrakcyjne PHP Interfejsy PHP Cechy PHP Metody statyczne PHP Właściwości statyczne PHP Przestrzenie nazw PHP Iterowalne PHP

Baza danych MySQL

Baza danych MySQL Połączenie MySQL Tworzenie bazy danych MySQL Utwórz tabelę MySQL Wstaw dane MySQL Pobierz ostatni identyfikator MySQL Wstaw wiele MySQL Przygotowano MySQL Wybierz dane MySQL MySQL Gdzie Zamów MySQL według Usuń dane MySQL Dane aktualizacji MySQL Dane limitu MySQL

PHP XML

Parsery PHP XML Parser PHP SimpleXML PHP SimpleXML — Get Rozszerzenie PHP XML PHP XML DOM

PHP - AJAX

Wprowadzenie do AJAX AJAX PHP Baza danych AJAX XML AJAX Wyszukiwanie na żywo AJAX Ankieta AJAX

Przykłady PHP

Przykłady PHP Kompilator PHP Quiz PHP Ćwiczenia PHP Certyfikat PHP

Odniesienie do PHP

Przegląd PHP Tablica PHP Kalendarz PHP Data PHP Katalog PHP Błąd PHP Wyjątek PHP System plików PHP Filtr PHP PHP FTP PHP JSON Słowa kluczowe PHP Biblioteka PHP Poczta PHP Matematyka w PHP Różne PHP PHP MySQLi Sieć PHP Kontrola wyjścia PHP PHP RegEx PHP SimpleXML Strumień PHP ciąg PHP Obsługa zmiennych PHP Parser PHP XML Kod pocztowy PHP Strefy czasowe PHP

Sesje PHP


Sesja to sposób przechowywania informacji (w zmiennych), które mają być używane na wielu stronach.

W przeciwieństwie do plików cookie informacje nie są przechowywane na komputerze użytkownika.


Co to jest sesja PHP?

Kiedy pracujesz z aplikacją, otwierasz ją, wprowadzasz zmiany, a następnie ją zamykasz. To jest jak sesja. Komputer wie, kim jesteś. Wie, kiedy uruchamiasz aplikację, a kiedy kończysz. Ale w Internecie jest jeden problem: serwer WWW nie wie, kim jesteś i co robisz, ponieważ adres HTTP nie utrzymuje stanu.

Zmienne sesji rozwiązują ten problem, przechowując informacje o użytkowniku, które mają być używane na wielu stronach (np. nazwa użytkownika, ulubiony kolor itp.). Domyślnie zmienne sesji trwają do momentu zamknięcia przeglądarki przez użytkownika.

Więc; Zmienne sesji przechowują informacje o jednym użytkowniku i są dostępne dla wszystkich stron w jednej aplikacji.

Wskazówka: jeśli potrzebujesz stałego miejsca do przechowywania, możesz chcieć przechowywać dane w bazie danych .


Rozpocznij sesję PHP

Sesja jest uruchamiana z session_start()funkcją.

Zmienne sesji są ustawiane za pomocą globalnej zmiennej PHP: $_SESSION.

Teraz utwórzmy nową stronę o nazwie „demo_session1.php”. Na tej stronie rozpoczynamy nową sesję PHP i ustawiamy 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>

Uwaga: funkcjasession_start()musi być pierwszą rzeczą w twoim dokumencie. Przed wszelkimi tagami HTML.



Pobierz wartości zmiennych sesji PHP

Następnie tworzymy kolejną stronę o nazwie „demo_session2.php”. Z tej strony uzyskamy dostęp do informacji o sesji, które ustawiliśmy na pierwszej stronie ("demo_session1.php").

Zwróć uwagę, że zmienne sesji nie są przekazywane indywidualnie do każdej nowej strony, zamiast tego są pobierane z sesji, którą otwieramy na początku każdej strony ( session_start()).

Zauważ również, że wszystkie wartości zmiennych 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>

Innym sposobem wyświetlenia wszystkich wartości zmiennych sesji dla sesji użytkownika jest uruchomienie następującego kodu:

Przykład

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
print_r($_SESSION);
?>

</body>
</html>

Jak to działa? Skąd wie, że to ja?

Większość sesji ustawia klucz użytkownika na komputerze użytkownika, który wygląda mniej więcej tak: 765487cf34ert8dede5a562e4f3a7e12. Następnie, gdy sesja jest otwierana na innej stronie, skanuje komputer w poszukiwaniu klucza użytkownika. Jeśli jest dopasowanie, uzyskuje dostęp do tej sesji, jeśli nie, rozpoczyna nową sesję.


Zmodyfikuj zmienną sesji PHP

Aby zmienić zmienną sesji, po prostu ją nadpisz:

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>

Zniszcz sesję PHP

Aby usunąć wszystkie globalne zmienne sesji i zniszczyć sesję, 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>

Ćwiczenia PHP

Sprawdź się za pomocą ćwiczeń

Ćwiczenie:

Utwórz zmienną sesji o nazwie „favcolor”.

session_start();
["favcolor"] = "green";