![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 30.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
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ć
![]() Up. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 18 Dołączył: 12.04.2009 Skąd: Rypin Ostrzeżenie: (0%) ![]() ![]() |
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 ![]() ![]() ps. prosty sposób na sprawdzanie, czy liczba nie została przypadkiem wylosowana jest w manualu |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 30.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
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?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 18 Dołączył: 12.04.2009 Skąd: Rypin Ostrzeżenie: (0%) ![]() ![]() |
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 ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 30.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
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.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 18 Dołączył: 12.04.2009 Skąd: Rypin Ostrzeżenie: (0%) ![]() ![]() |
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 ![]() Ten post edytował emtiej 31.01.2010, 14:34:18 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 20:38 |