Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Aplikacja quizu w PHP
Forum PHP.pl > Forum > Przedszkole
lortp
Chcę zrobić quiz w PHP i mam kilka pytań. Będę miał pulę 200 pytań z których będę losował 10. Na stronie na dole będą linki do każdego z 10 pytań (chodzi o to, że można odpowiadać na kolejne pytanie, jeśli nie zna się odpowiedzi na obecne i później do niego wrócić). I teraz mam problem jak to rozwiązać. W kilku quizach, w których kiedyś brałem udział, widziałem, że na dole były jeszcze dwa przyciski: "Zapisz", "Zapisz i wyślij". Gdzie jak się przechodziło do kolejnego pytania to się klikało zapisz i wtedy można było wrócić do poprzedniego i mieć cały czas zaznaczoną tam odpowiedź. Możecie mi poradzić jak to rozwiązać? Domyślam się że jakoś na sesjach chyba tak? Czy ciasteczka? Prosiłbym o jakieś szczegóły lecz bez gotowców, bo w końcu to ma być projekt, żeby się czegoś nauczyć smile.gif

Up.
emtiej
ja bym ci radził zapisywać odpowiedzi i numery pytań w ciasteczkach, dlatego że po przypadkowym wyłączeniu okna przeglądarki użytkownik będzie miał zapisane wszystko w ciasteczkach. Funkcje które ci się przydadzą to rand
Rand to chyba funkcja losująca liczby pseudolosowe, czyli mogą one się powtórzyć(przynajmniej w C++ tak jest) dlatego będziesz musiał sprawdzać czy jakieś pytanko nie jest wylosowane np 2 razy w puli pytań. Wszystkie pytania najlepiej trzymać chyba w bazie(najwygodniej). Po wysłaniu quizu nie zapomnij usunąć ciasteczek, które twój skrypt stworzył, bo jak użytkownik wylosuje nowy zestaw i trafi w pytanie, na które już odpowiadał to może mieć zaznaczoną odpowiedź heh smile.gif No i to chyba na tyle. Powodzenia smile.gif

ps. prosty sposób na sprawdzanie, czy liczba nie została przypadkiem wylosowana jest w manualu
lortp
No tak mogę użyć ciasteczek. Ale czy sesja na pewno ulegnie zniszczeniu po zamknięciu przeglądarki? Przecież różne serwisy mają oparte na tym systemy logowania i nadal po zamknięciu jestem tam zalogowany. Poza tym dana osoba będzie quiz wykonywała 1 raz, więc nie muszę usuwać ciasteczek, gdyż po jego rozwiązaniu nie będzie ona miała po prostu do niego dostępu. A odnośnie losowania pytań to będę je losował z bazy przez zapytanie SQL, więc chyba nie powinny się powtórzyć prawda?
emtiej
Czas sesji są określone w php.ini, a okres "życia" cookies ustalasz ty.

Cytat
A odnośnie losowania pytań to będę je losował z bazy przez zapytanie SQL, więc chyba nie powinny się powtórzyć prawda?


Nie lepiej najpierw wylosować 10 liczb funkcją rand i odczytać z bazy danych 10 pytań o tych numerach? Poza tym jak niby chcesz je wylosować od razu z bazy? Raczej rand-a musisz użyć heh

Nie wiem czy RAND() w zapytaniu sql nie wylosuje ci tego samego rekordu kilka razy, dlatego proponuję trochę bardziej kłopotliwe wyjście, no ale zrobisz jak będziesz chciał, w końcu to twój skrypt tongue.gif
lortp
Hmm nawet jak logowanie będzie na sesjach to potem ten quiz na ciasteczkach? No a w tych serwisach społecznościowych to logowanie też jest na ciasteczkach czy na sesjach? Bo na kilku jestem zalogowany od kilku dni, a chyba na ciasteczkach by tego nie robili prawda? Bo ktoś mógłby wykraść ciastko i zalogować się na mój profil na danym serwisie.
emtiej
Cytat
a chyba na ciasteczkach by tego nie robili prawda?


Skoro tak, to zaloguj się na nasza-klasa.pl, i usuń cookies w przeglądarce...
Aktualnie system logowania tworzy się na podstawie i sesji i cookies dla bezpieczeństwa i wygody głównie i jeszcze raz piszę długość sesji jest ustalona przez dostawcę hostingu, a długość życia cookies ustalasz TY

http://forum.php.pl/index.php?showtopic=84432

I używaj google, wpisz sobie logowanie na sesjach i cookie i przeanalizuj kilka skryptów. Pozdrawiam smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.