skanuj0523

skanuj0523



544 PHP i MySQL dla każdego

Pozwala ono stwierdzić, czy w tabeli Klienci znajduje się już użytkownik używający adresu e-mail zapisanego w zmiennej emai 1. Jeśli taki użytkownik istnieje, nie można dokonać rejestracji. Każdy bowiem adres e-mail wprowadzony do bazy — ze względu na to, że odgrywa on jednocześnie rolę nazwy użytkownika — musi być unikalny. W takiej sytuacji jest więc wyświetlana informacja o konieczności wyboru innego adresu e-mail oraz jest ponownie wyświetlany formularz rejestracyjny. Warto w tym miejscu zauważyć, że w ponownie wyświetlonym formularzu znajdą się wartości poprzednio wprowadzone przez użytkownika. Dzieje się tak dlatego, że w kodzie formularza zawartym w pliku sklep jegister Jorm.php jako wartości pól są wykorzystywane wartości zmiennych o nazwach zgodnych z nazwami tych pól.

Jeżeli adresu e-mail wprowadzonego do formularza i przekazanego do skryptu nie ma w bazie, dane rejestracyjne mogą zostać zapisane w tabeli KI ienci. W tym celu jest wykonywane zapytanie SQL:

INSERT INTO Klienci VALUES(NULL. 'Jimie'. 'Jnazwisko'. '$ulica'. 'Jnrdanu'.

'Jnrmieszkania'. 'Jmiasto'. 'Jkod'. 'Skraj'. 'Jemail'. 'Jhaslo')

Jeśli jego wykonanie zakończy się sukcesem (funkcja mysql_query zwróci wartość true), a w efekcie do bazy zostanie zapisany nowy wiersz (funkcja mysql_affected_rows zwróci wartość 1), następuje pobranie identyfikatora nowo wprowadzonego rekordu. Jeśli natomiast wykonanie zapytania nie zakończy się pomyślnie, do przeglądarki jest wysyłany komunikat o wystąpieniu błędu.

Identyfikator nowo wprowadzonego rekordu jest pobierany za pomocą funkcji mysql_ insert_id, a jego wartość jest zapisywana w zmiennej sesji o nazwie Userld. Tym samym proces rejestracji kończony jest automatycznym zalogowaniem nowego użytkownika w systemie. Użytkownik jest o tym fakcie informowany stosownym komunikatem. Jeśli natomiast wywołanie funkcji nąysql_insert_id zakończyłoby się niepowodzeniem (funkcja zwróciłaby wartość false), użytkownik jest informowany o prawidłowej rejestracji i jest wyświetlany odnośnik do strony logowania.

Funkcja logout, jak łatwo się domyślić, przeprowadza procedurę wylogowania użytkownika. Oczywiście jej działanie zaczyna się od sprawdzenia, czy wywołujący ją użytkownik jest faktycznie załogowany, a zatem czy jest ustawiona zmienna sesji o nazwie Userld. Jeśli takiej zmiennej nie ma, jest wyświetlany odpowiedni komunikat i funkcja kończy działanie przez wywołanie instrukcji return. Jeśli jednak użytkownik był załogowany, następuje usunięcie zmiennej Userld; jest także usuwana, o ile była wcześniej ustawiona, zmienna o nazwie koszyk. Wreszcie sesja jest kończona przez wywołanie funkcji session_destroy.

Funkcje obsługi sklepu

W pliku sklep Junctions.php znajdą się funkcje obsługujące procedury związane z wyszukiwaniem książek, obsługą koszyka oraz składaniem zamówień. Będą to:


Wyszukiwarka

Podobne podstrony:
skanuj0355 (2) 370 PHP i MySQL dla każdego Listing 13.7. Wyświetlenie zawartości tabeli z możliwości
45553 skanuj0408 (2) 424 PHP i MySQL dla każdego Efekt działania zapytania, o ile jego wykonanie zak
21414 skanuj0355 (2) 370 PHP i MySQL dla każdego Listing 13.7. Wyświetlenie zawartości tabeli z możl
21414 skanuj0355 (2) 370 PHP i MySQL dla każdego Listing 13.7. Wyświetlenie zawartości tabeli z możl
skanuj0298 (2) 312 PHP i MySQL dla każdeg:Złączenie typu LEFT JOIN Złączenie typu LEFT JOIN pozwala
skanuj0161 (9) 172 PHP i MySQL dla każdego Zwraca ona ciąg strl, z którego począwszy od znaku o inde
skanuj0163 (9) 174 PHP i MySQL dla każdego Listing 6.12. Wykorzystanie funkcji strtok <?php $str

więcej podobnych podstron