Wprowadzenie do sesji PHP

Sesje są używane w aplikacjach internetowych. Wykorzystanie sesji w PHP ma na celu udostępnienie danych na różnych stronach witryny. Dane lub informacje, takie jak nazwa, adres itp. Są przenoszone z jednej strony do innej sesji użytkownika. Informacje o sesji są używane do celów uwierzytelniania. Podobnie jak pliki cookie są przechowywane w przeglądarce klienta, dane sesji są przechowywane na serwerze w katalogu tymczasowym.

Aby rozpocząć sesję, używamy funkcji session_start (). A kiedy sesja się rozpoczyna, trwa domyślnie 24 minuty, czyli 1440 sekund. Sesja jest identyfikowana przez identyfikatory sesji lub SID, który jest unikalnym numerem identyfikującym każdego użytkownika.

Jak tworzyć sesje?

session_start () to funkcja używana do rozpoczęcia sesji. Jeśli sesja już istnieje, użyje tej samej sesji, w przeciwnym razie utworzy nową sesję. Ta funkcja jest zawsze wywoływana na początku każdej strony. Po wywołaniu funkcji możemy rozpocząć zapisywanie wartości w zmiennych sesji, ale nie wcześniej. PHP przechowuje informacje o użytkowniku w super globalnej zmiennej $ _SESSION.

Aby wiedzieć, jaka jest ścieżka do katalogu, w którym przechowywane są sesje, w dyrektywie php.ini znajduje się dyrektywa o nazwie session_save_path. Ponadto session_id wypisuje identyfikator powiązany z bieżącą sesją. Jest to unikalny losowo generowany numer.

Spójrzmy na poniższy program.

W tym programie, gdy drukujesz tę zmienną sesji za pomocą print_r ($ _ SESSION), drukowane są wszystkie ustawione dane sesji. Dane wyjściowe mają postać tablicy asocjacyjnej par klucz-wartość.

W tym przykładzie najpierw rozpoczynamy sesję za pomocą funkcji session_start (), inicjujemy zmienne i przypisujemy ją do zmiennych sesji za pomocą _SESSION ('name') = $ name, wypisujemy tablicę superglobalną. Drukujemy również unikalną wartość identyfikatora sesji również za pomocą funkcji session_id ().

Przykład 1

Kod :

<_?php
// example to start session
//beginning a session
// no arguments are passed to this function
session_start();
//initializing variables
$name = 'Neha';$age = 28;
//storing values in session
$_SESSION('name') = $name;
$_SESSION('age') = $age;
// printing session valuesprint_r($_SESSION);
//using the session id
echo '
The session_id is ';
echo session_id();
?>

Wynik :

Jak usunąć sesje?

Przykład nr 2

Funkcja Session_destroy () służy do niszczenia sesji. Ta funkcja niszczy całą sesję. Aby rozbroić jedną zmienną sesji, możemy użyć funkcji unset ().

W tym przykładzie najpierw drukujemy dane sesji, aby wiedzieć, co zawiera sesja, a następnie niszczymy ustawione wcześniej zmienne sesji za pomocą funkcji unset (). Tutaj niszczymy obie ustawione zmienne sesji, takie jak nazwa i wiek. Po zniszczeniu ponownie drukujemy sesję i widzimy, że zwraca pustą tablicę, co oznacza, że ​​zmienne zostały rozbrojone, a sesja już nie istnieje.

Kod

<_?php
//example to unset session variables
//starting a session
session_start();
print_r($_SESSION);
//before destroying the session
//printing the session
unset($_SESSION('name'));
unset($_SESSION('age'));
echo 'Session destroyed';
//after destroying the session
//printing the session
print_r($_SESSION);
?>

Wynik :

W poniższym przykładzie niszczymy sesję.

Aby zniszczyć sesję, najpierw sprawdzimy wartość sesji, a następnie zniszczymy sesję. i ponownie wydrukuj sesję, która będzie pustą tablicą, ponieważ sesja nie istnieje.

Przykład nr 3

Kod :

<_?php
//example to destroy session
//starting a session
session_start();
//to completely destroy a session
session_destroy();
echo 'Session destroyed';
//after destroying the session
//printing the session
echo '
';
print_r($_SESSION);
?>

Wynik :

Tutaj w programie widzimy, że w pierwszym wierszu rozpoczynamy sesję i inicjalizujemy zmienną count do 0. następnie sprawdzamy, czy zmienna sesji jest ustawiona, czy nie. tutaj sprawdzamy jeden warunek, czy nazwa sesji jest ustawiona na page_views, jeśli tak, to zwiększamy wartość zmiennej count o jeden, a jeśli nie, to inicjalizujemy wartość count na jeden.

Przykład 4

Kod :

<_?php
session_start();
$count = 0;
if(!isset($_SESSION('page_views'))) (
$_SESSION('page_views') = 1;
$count = $_SESSION('page_views');
) else (
$_SESSION('page_views') = $_SESSION('page_views') + 1 ;
$count = $_SESSION('page_views');
)
?>
Finding count of page views
'. 'The count of page views '. $count;
?>
<_?php echo '
session_start();
$count = 0;
if(!isset($_SESSION('page_views'))) (
$_SESSION('page_views') = 1;
$count = $_SESSION('page_views');
) else (
$_SESSION('page_views') = $_SESSION('page_views') + 1 ;
$count = $_SESSION('page_views');
)
?>
Finding count of page views
'. 'The count of page views '. $count;
?>

Wynik:

Jak włączyć automatyczną sesję w php?

Aby włączyć automatyczne sesje w php, musimy wprowadzić zmiany w pliku konfiguracyjnym, którym jest php.ini.

Gdzie php.ini jest domyślnym plikiem konfiguracyjnym

Sesje nie rozpoczynają się automatycznie, aby sesja działała automatycznie, musimy wykonać następujące czynności, ale po zakończeniu sesja jest uruchamiana automatycznie dla wszystkich plików i zamyka się po upływie domyślnego czasu.

Tak więc w pliku php.ini będziemy szukać

session.auto_start = 0

i ustaw wartość na 1 w ten sposób

session.auto_start = 1

Pomoże to PHP rozpocząć sesje automatycznie.

Znaczenie sesji

  • Podobnie jak $ _COOKIE, mamy $ _SESSION, która jest zmienną superglobalną i przechowywaną na serwerze.
  • W przypadku, gdy pliki cookie nie są obsługiwane przez przeglądarkę użytkownika, możemy skorzystać z sesji. Każda sesja ma przypisany unikalny identyfikator na podstawie wizyty użytkownika w witrynie.
  • Jeśli chodzi o przechowywanie danych, sesja przechowuje więcej danych niż może przechowywać ciasteczko.
  • Sesja służy do przenoszenia informacji z jednej strony na drugą.
  • Sesji można użyć do uzyskania liczby odwiedzających witrynę.
  • Sesja służy również do celów uwierzytelniania.
  • Wygenerowane identyfikatory sesji są unikalne.

Wniosek

W tym artykule wyjaśniono, czym jest sesja, jak działa sesja, jak tworzymy sesję, jak usuwamy określoną sesję.

Wyjaśniono również, jak sprawić, aby sesje działały automatycznie, ustawiając wartość dyrektywy session.auto_start () na 1.

Następnie na przykładzie wyjaśniono, jak liczyć, ile razy strona została wyświetlona za pomocą sesji. Wyjaśniono również, jakie znaczenie ma sesja i jak jest ona przydatna do różnych celów.

Polecane artykuły

To jest przewodnik po Sesjach w PHP. Tutaj omawiamy, jak tworzyć sesje i usuwać sesje w PHP z podanymi przykładami. Możesz także zapoznać się z następującymi artykułami, aby dowiedzieć się więcej -

  1. Hermetyzacja w PHP
  2. Stałe magiczne PHP
  3. Przeciążenie w PHP
  4. Przesłanianie w PHP
  5. Konstruktor w PHP
  6. Funkcja rekurencyjna PHP
  7. Funkcja rekurencyjna w Pythonie
  8. Funkcja rekurencyjna w C.
  9. Funkcja rekurencyjna w JavaScript
  10. Jak działają pliki cookie w JavaScript w przykładzie?