PHP - Koszyk Na Zakupy dla Sklepu Internetowego - wstęp

DZIAŁANIE: brak działania
 

Kod:

brak kodu :P

Ewentualne Objaśnienia:

W następnym przykładzie chciałbym przedstawić możliwość zbudowania koszyka na zakupy, który oczywiście zazwyczaj używamy przy sklepach Internetowych.
Zanim jednak to uczynię, przypomnijmy sobie troszkę informacji o Cookies oraz Sesjach w PHP.

COOKIES
- ciasteczka to pewna para nazwa-wartość powiązaną z daną stroną WWW, przechowująca na komputerze odwiedzającego tę parę
- po ustawieniu ciasteczka wszystkie żądania tejże strony zawierają cookie, do czasu kiedy ono wygaśnie
- ciasteczko ustawiamy funkcją : setcookie, składnia :

setcookie ( nazwa, wartość, data_ważności, ścieżka, domena, bezpieczne )

- jak pamiętacie setcookie musi został wywołane w kodzie przed wszelkimi znacznikami ( wysłaniem jakiejkolwiek treści )
- jedyny wymagane argument setcookie to nazwa
- gdy wywołamy cookie tylko z parametrem nazwa - spowoduje to usunięcie cookie z przeglądarki ( jeśli istnieje )
- parametr wartość pozwala na stworzenie nowego cookie lub też zmianę wartości istniejącego
- cookies domyślnie istnieje dopóki nie zostanie zamknięta przeglądarka
- jeśli chcemy aby cookie istniało dłużej należy ustawić parametr data_ważności - podajemy ilość sekund jaka musi upłynąć od 1.01.1970r , po tym czasie cookie zostanie usunięte
- używamy zazwyczaj funkcji time() + wartość, na przykłąd time() + 3600 oznacza ważność jednej godziny
- aby usunąć cookie, które miało określoną datę ważności wystarczy podać datę, która już była, na przykład rok wstecz :

// ustawienie cookie na jeden rok
setcookie ('cookie','wartosc',time() + 3600*24*365);
// usunięcie tego cookie
setcookie ('cookie','wartosc',time() - 3600*24*365

- parametr ścieżka pozwala na ograniczenie dostępu do cookie dla do określonej ścieżki na serwerze, na przykład po ustawieniu : /bmedon/ - cookie będą zwracać żądania jedynie stron z katalogu bmedon i jego podkatalogów. Dzięki / na końcu uniemożliwiony jest dostęp dla katalogów typu bmedoncostam itd. Przydatne to możę być na przykład gdy mamy na serwerze dla każdego użytkownika osobny katalog domowy. Dzięki temu ustawiamy cookie nie udostępniając danych osób odwiedzających stronę skryptom innych userów serwera.
- parametr domena ma podobne zastosowanie jak parametr ścieżka. Ogranicza dostęp do ciasteczek do konkretnej domeny. Domyślnie cookie jest zwracane wyłącznie do komputera, z którego zostało przysłane. Czasami niektóre serwisy mają kilka subdomen pod, którymi kryją się te same serwisy - na przykład jakasfirma.com oraz strona.jakasfirma.com - wtedy ustawiamy cookie ( par domena ) na '.jakasfirma.com'. Dzięki znaczkowi kropki przed jakasfirma - zapobiegamy dostępowi do cookie przez inne strony niż example.com ponieważ określiliśmy, że domena kończy się na jakasfirma.com .
- parametr bezpieczne o wartości 1 oznacza, że cookie powinno zostać wysłane jedynie w odpowiedzi na żądania zgłaszane poprzez połączenie SSL (https://)
- wymaganym parametrem jest jedynie jak mówiłem nazwa, ale nie można określić parametru następnego bez podania poprzedniego, na przykład nie podamy parametru domena jeśli wcześniej nie podamy daty ważności . Aby pominąć parametr podajemy dla liczbowych (data_ważności, bezpieczne) wartość 0 , a dla tekstowych (wartośc, ścieżka, domena) puste ''
- poprzez cookies jednak nie jesteśmy w stanie przechowywać dużej ilości informacji oraz wielu ciasteczek dla danej witryny, także nie wszyscy użytkownicy po prostu cookies akceptują w swoich przeglądarkach. Dlatego trzeba ich rozważnie używać, do większych celów przydadzą się nam sesje

SESJE
- Sesje doskonale zastępują w wielu rozwiązaniach ( większości ? ) ciasteczka
- dzięki sesją dane gromadzimy na serwerze WWW , a nie jako ciasteczka w przeglądarce
- sesja ustawia jedynie 1 cookie, które zawiera tzw. identyfikator sesji - PHP przy ładowaniu następnych stron i ładuje dane powiązane z daną sesją
- gdyby jedna cookie nie było obsługiwane PHP przekazuje identyfikator sesji w adresie - do każdego generalnie linka zostanie dodany ID sesji, dzięki temu będzie on przekazywany do kolejnych stron serwisu
- czyli jak widać PHP sobie dobrze radzi nawet kiedy cookies są wyłączone
- funkcja session_start tworzy nową sesję lub szuka identyfikatora istniejącej
- podobnie jak setcookie musi być wywołana na samym początku - przed wysłaniem jakichkolwiek danych do przeglądarki
- usuwamy zmienną z bieżącej sesji poprzez : unset($_SESSION['nazwasesji']);
- czyścimy przechowywane wartości poprzez : $_SESSION = array();
- niszczymy sesje : session_destroy();
 

To tyle tytułem przypomnienia cookies oraz sesji - zapraszam również do cofnięcia się i przeanalizowania poprzednich przykładów dotyczących tych zagadnień. Teraz zajmę się koszykiem.