• Nie Znaleziono Wyników

PHP Cz.5

N/A
N/A
Protected

Academic year: 2021

Share "PHP Cz.5"

Copied!
8
0
0

Pełen tekst

(1)

PHP Cz.5

(2)

Sesje

Mechanizm sesji był najważniejszą ze zmian oczekiwanych w PHP 4.

Umożliwia on przekazywanie parametrów między stronami w łatwy sposób.

Zmienne są przechowywane po stronie serwera, a u klienta trzymane jest tylko ID sesji.

Te ID jest zapisane w cookie lub przekazywane przez URL.

PHP jest w stanie sam rozpoznać czy na komputerze klienta włączony jest mechanizm cookies i w razie potrzeby dodać identyfikator sesji do każdego

URLu i formularza. Wymaga to jednak posiadania PHP skompilowanego z opcją --enable-trans-sid.

(3)

Sesje

Jako że sesje mogą bazować na ciasteczkach, także i w tym przypadku przed rozpoczęciem sesji do przeglądarki nie mogą być wysłane żadne inne dane.

Po otrzymaniu żądania klienta PHP automatycznie (jeśli w konfiguracji PHP włączona została opcja auto_start) lub „ręcznie” przez programistę (za pomocą

funkcji session_start()) sprawdza, czy przypisano już ID sesji. Jeśli tak, to PHP odczytuje zmienne zarejestrowane w tej sesji. Jeśli nie, generowany jest nowy,

unikalny identyfikator sesji.

(4)

Sesje

Aby PHP zaczęło śledzić wartość zmiennej, najpierw trzeba ją zarejestrować za pomocą funkcji session_register( nazwa_zmiennej).

Istnieje też odwrotna wersja tej funkcji – funkcja session_unregister( nazwa_zmiennej)

powoduje, że PHP „zapomni” o tej zmiennej.

(5)

Sesje

W PHP 4.1.0 (i nowsze) wprowadzone zostały opisane wcześniej zmienne superglobalne. Jedna z tych zmiennych, $_SESSION, przechowuje zmienne zarejestrowane w sesji. Kluczem tej tablicy jest oczywiście nazwa zarejestrowanej

zmiennej.

Tablica ta ma jednak pewną różnicę w stosunku do innych tablic superglobalnych.

Mianowicie można jej użyć do rejestrowania zmiennych sesyjnych. Wystarczy przypisać wartość odpowiedniemu kluczowi tej tablicy aby zmienna została

zarejestrowana.

(6)

Przykład: Zliczanie ile dana osoba odczytała daną stronę z czasie jednej sesji.

<?php

session_start(); // można pominąć jeśli jest włączona jest opcja auto_start if (!isset($_SESSION['count'])) { // jeśli zmienna nie jest zarejestrowana $_SESSION['count'] = 0; // przypisz jej początkową wartość

} else { // jeśli jest zarejestrowana

$_SESSION['count']++; // zwiększ jej wartość }

echo 'Strona odczytana '.$_SESSION['count'].' razy w ciągu tej sesji';

?>

(7)

Powyższy przykład prezentuje jedynie możliwości jakie dają SESJE. W tablicy

$_SESSION można śmiało zapisywać inne niezbędne do działania danej strony informacje, które pomiędzy jednym a drugim kliknięciem na stronie nie zginą…

(8)

KONIEC cz.5

Cytaty

Powiązane dokumenty

Wprowadza się obowiązek zachowania dystansu między uczniami w przestrzeniach wspólnych szkoły lub stosowanie przez nich osłony ust i nosa (korytarze, szatnie).

Wynik działania skryptu z listingu 3.18 — wyświetlenie zdjęcia urządzenia echo "Zdjcie niedostpne"; } //informacje dotyczące wyświetlania print "Informacje dotyczce wywietlania:

Natomiast języki kontekstowe (3g), zwane też monotonicznymi (3h), stanowią właściwą podklasę języków rekurencyjnych.. Kontrprzykładem

Jeżeli jakieś dane em ­ piryczne przemawiają przeciw jednej lub drugiej teorii, powstały konflikt traktuje się jako dowód na to, że teoria nie stosuje się do sytuacji,

Zad3.Napisz program drukujący na ekranie liczby dla zadanej wysokości zgodnie ze wzorem (dla danego podpunktu). WYSOKOŚĆ podajemy jako wartość zmiennej h.. Zad5.Napisz

Wysłanie formularza metodą GET ma powodowad po stronie serwera wykonanie kody PHP, który wyśle do klienta odpowiedź zawierającą złączenie przesłanych danych w jeden łaocuch

Wysłanie formularza metodą POST ma powodować po stronie serwera wykonanie kodu PHP, który wyśle do klienta odpowiedź zawierającą TEKST umieszczony w bloku DIV, w

Ten test jest trudniejszy, ponieważ musimy wchodzić w interakcje z bazą danych, co zwykle nie jest zbyt przyjemnym doświadczeniem.. Jednak Laravel daje