skanuj0420

skanuj0420



Rozdział 16. ♦ Zarządzanie kontami użytkowników 437

Jeśli wartość argumentu id nie jest ciągiem NULL oraz nie jest pustym ciągiem znaków, oznacza to, że do bazy ma zostać dodany użytkownik, któremu chcemy nadać konkretny identyfikator. W takiej jednak sytuacji musimy się najpierw upewnić, czy ta wartość identyfikatora nie jest już zajęta. Wykonujemy zatem zapytanie SQL:

SELECT COUNT(*) FROM Users WHERE Id = $id

Jeśli uzyskana w wyniku tego zapytania wartość jest większa od zera, oznacza to, że identyfikator jest zajęty; funkcja addUser zwraca zatem USERID_ALREADY_EXISTS i kończy działanie. Jeśli jednak otrzymaną wartością jest 0, można przystąpić do dalszych czynności. W kolejnym kroku sprawdzamy zatem, czy nazwa użytkownika przekazana w parametrze nazwa istnieje w bazie. Jest zatem wykonywane zapytanie:

SELECT C0UNT(*) FROM Users WHERE Nazwa='$nazwa'

Postępowanie jest tu podobne jak w poprzednim przypadku. Jeśli wynikiem zapytania jest wartość różna od zera, oznacza to, że użytkownik o takiej nazwie już istnieje w bazie, a zatem nie można wykonać operacji dodawania. Funkcja addUser zwraca w takim przypadku wartość USERNAME_ALREADY_EXISTS. Jeśli jednak wartością zwróconą jest zero, nowy użytkownik może zostać dodany do bazy.

Dane nowego użytkownika są dodawane do bazy za pomocą instrukcji:

INSERT INTO Users VALUES($id, 'Jnazwa'. 'Jhaslo'. 'Jimie'. 'Jnazwisko'. 'Jemail')

Jeśli wykonanie tego zapytania zakończy się sukcesem, funkcja addUser zwraca wartość RESULT_0K, a w przeciwnym wypadku — wartość DB_QUERY_ERROR.

Funkcja modi fy_user wykonuje modyfikację danych istniejącego użytkownika. Przyjmuje ona takie same argumenty jak funkcja addUser; jej kod jest jednak znacznie uproszczony. Nie jest wykonywana wstępna weryfikacja danych, ale od razu jest wykonywane zapytanie:

UPOATE Users SET Nazwa='Jnazwa'. Hasło-'Jhaslo'. Imie='Jimie'. Nazwisko-'Jnazwisko'. Email-'Jemail' WHERE Id=Jid

Zakładamy, że jeśli dane będą niepełne, serwer po prostu odrzuci zapytanie. Ponieważ w przypadku gdy zapytanie będzie formalnie prawidłowe, funkcja zwraca liczbę zmodyfikowanych rekordów, będziemy też w stanie określić, czy modyfikacja faktycznie nastąpiła. Nic nie stoi jednak na przeszkodzie, aby samodzielnie uzupełnić kod procedury weryfikacyjnej, np. na podstawie treści funkcji addUser.

Skoro gotowe są już funkcje operujące bezpośrednio na bazie danych, możemy przystąpić do budowy głównej części administracyjnej serwisu. Będzie ona realizowana przez skrypt o nazwie user_adm.php. W oknie przeglądarki będą wyświetlane dwa formularze, tak jak zostało to przedstawione na rysunku 16.2. Formularz górny, z przyciskiem Szukaj, umożliwi wyszukanie danych użytkownika o nazwie podanej w polu tekstowym. Formularz dolny pozwoli na wyświetlanie oraz modyfikację danych. Kod skryptu user_adm.php został przedstawiony na listingu 16.5.


Wyszukiwarka

Podobne podstrony:
skanuj0412 (3) Rozdział 16. ♦ Zarządzanie kontami użytkowników 429 Rozdział 16. ♦ Zarządzanie kontam
skanuj0422 Rozdział 16. ♦ Zarządzanie kontami użytkowników 439} else{ Saction - $_POST[ action ]: /*
skanuj0424 Rozdział 16. ♦ Zarządzanie kontami użytkowników 441} else{ Skomunikat - "Brak parame
skanuj0428 (2) Rozdział 16. ♦ Zarządzanie kontami użytkowników
29213 skanuj0426 (2) Rozdział 16. ♦ Zarządzanie kontami użytkowników 443 <£> - I_ ż ■ rfj y &n
33370 skanuj0414 (2) Rozdział 16. ♦ Zarządzanie kontami użytkowników 431 Zapytanie jest wysyłane do
48658 skanuj0418 (2) Rozdział 16. ♦ Zarządzanie kontami użytkowników 435 $query = "SELECT C0UNT
26903 skanuj0416 (2) Rozdział 16. ♦ Zarządzanie kontami użytkowników 433 <html> <head> &
44715 skanuj0457 Rozdział 18. ♦ System zbierania opinii 475 Jeśli teraz użytkownik o identyfikatorze

więcej podobnych podstron