486 PHP i MySQL dla każdego
Al 1 Pol 1 sResul ts wyświetlająca wyniki wszystkich ankiet. Jeśli natomiast wartość parametru ankieta Id jest różna od zera, jest wywoływana funkcja showPoIIResults wyświetlająca wyniki konkretnej ankiety (rysunek 18.5).
0k Ę.dyc|s BJdok Praj® JskładK Harapa Pomo£ |
-aioJzsi © | |
<£• e S ,>■ ©I. ^ Rotpocmljprzygód......./Aktualności J ndej.php | ||
De pamięci RAM ma Twój komputer? | ||
Od 512 MB do 768 MB |
780 | |
Od 256 MB do 512 MB |
568 | |
Od768 MB do 1024 MB |
491 | |
Powyżej 1024 MB |
87 | |
Od 128 MB do 256 MB |
28 | |
Do 128 MB |
5 | |
Powrót do listy ankiet Powrót do |
Rysunek 18.5. Wyniki przykładowej ankiety
W przypadku gdy wartością parametru action jest vote, są wymagane dodatkowe weryfikacje. Przede wszystkim jest sprawdzane, czy został przekazany parametr opcjald wskazujący identyfikator opcji, na którą ma zostać oddany głos, oraz czy użytkownik wywołujący skrypt jest faktycznie załogowany, czyli czy jest ustawiona zmienna sesji o nazwie załogowany. Jeśli oba warunki są spełnione, jest dodatkowo sprawdzane, czy aktualnie załogowany użytkownik brał już udział w ankiecie, w której ma zostać oddany głos. Tego sprawdzenia dokonuje funkcja al readyVoted. Jeśli głos został już oddany, jest wyświetlana stosowna informacja, natomiast w przeciwnym wypadku jest wywoływana funkcja vote dokonująca odpowiedniego wpisu w tabeli AnkietyOpcje.
Ponieważ funkcja vote zwraca liczbę rekordów w tabeli Anki etyOpcje, na który miało wpływ wykonywane w niej zapytanie, lub wartość fal se, jeśli wystąpiły problemy z bazą danych, przyjmujemy że jej wykonanie zakończyło się sukcesem tylko wtedy, gdy zwróconą wartością jest 1. W takiej sytuacji jest wyświetlana informacja, że głos został zarejestrowany, oraz bieżące wyniki ankiety, w której został oddany głos. Jeśli wynik działania funkcji vote jest różny od 1, jest wyświetlana informacja o wystąpieniu błędu.