![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 4.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Tworzę system do egzaminów i mam następujący problem: Przy wejściu w egzamin wyświetlają nam się pytania oraz miejsca na odpowiedzi itd itp. w związku z tym, że przy wejściu w egzamin uruchamiamy czas np 10 minut, chciałbym zablokować stronę przed odświeżaniem oraz przejściem na inna stronę. Ktoś ma jakieś pomysły? Myślałem o tym żeby dać jakaś zmienną w sesji... Dzięki z góry za odpowiedzi p.s da się tak zrobić że przy zmianie na jakąkolwiek stronę wyświetlamy okienko ostrzegające (TAK NIE) jeśli TAK wysyłamy dane do bazy te, które zostały wypełnione? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ale co ma na mysli przez "zabronic przejscia na inną strone"? Jak ktos jest na Twojej stronie, to nie może już wejsc np. na forum.php.pl? Przeciez tego nie jestes w stanie zadnym cudem zrobic.
Jesli masz na mysli, ze nie moze przejsc na inną podstrone twojej strony, to od biedy możesz bawić sie w sesje ale to i tak wystarczy ze koles otworzy inną przeglądarke i juz moze sobie latac po wszystkich podstronach IMHO to co probujesz zrobić jest totalnie bezsensu. Rownie dobrze mozesz wydac dekret zabraniający ptakom siadac na slupach telefonicznych - będzie to równie respektowalne co ograniczenia co próbujesz wdrozyc ![]() No chyba ze nie zrozumialem Twojej idei. Tak to opisales, ze calkiem mozliwe i miales co innego na mysli. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
onbeforeunload - unikniesz przypadkowego odświeżenia, opuszczenia strony.
Idąc dalej możesz zrobić tak jak piszesz i zrobić 3 opcje wyboru (jquery modal np.). 1. Zostań na stronie 2. Zapisz odpowiedzi i opuść stronę 3. Opuść stronę bez zapsu. Skrypt oczywiście pownien nasłuchiwać tylko przez pierwsze 10 minut. -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 4.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ciężko to wytłumaczyć ale spróbuje jeszcze raz
![]() Mamy stronę z egzaminem, pokazują nam się pytania, wpisujemy odpowiedzi w wyznaczone pola lub zaznaczamy prawidłową odpowiedź i wysyłamy tak wypełniony formularz przez submita (oczywiście dodanie danych do bazy itd). Ale problem pojawia się wtedy, gdy wchodzimy na stronę z egzaminem widzimy pytania i dla kogoś kto chciałby oszukać to może obejrzeć pytania nie wysyłać danych submitem (tylko przejść na inna podstronę) i wrócić kiedyś z gotowymi odpowiedziami. Chyba już lepiej to opisałem ![]() Wpadł mi jeszcze inny pomysł... żeby stan egzaminu (na napisany) w bazie zmieniać od razu po wejściu na stronę z egzaminem a nie po wysłaniu formularza co wy na to? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Pomijając już kwestie blokowania samej strony to kliknij w ikonę Twojej przeglądarki lub CTR+N przy otwartym teście, no nie.. tylko najlepsze cwaniaki wpadną na to aby w jednym oknie mieć test, a w drugim wikipedię...
![]() -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 4.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Pomijając już kwestie blokowania samej strony to kliknij w ikonę Twojej przeglądarki lub CTR+N przy otwartym teście, no nie.. tylko najlepsze cwaniaki wpadną na to aby w jednym oknie mieć test, a w drugim wikipedię... ![]() Nie w tym rzecz jak masz odpowiednio dużo pytań zamkniętych oraz otwartych i ustawisz odpowiedni mały czas to nawet z oknem z otwarta wikipedia nie dasz rady ogarnąć wszystkich pytań. Poza tym chodziło o system typu uczelniany, więc wykładowca/administrator może zablokować na jakiś czas dostęp do innych stron ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Ale nie o tym jest temat No to o czym bo ja się pogubiłem? Co chcesz osiągnąć? Czego chcesz uniknąć? -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 4.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
No to o czym bo ja się pogubiłem? Co chcesz osiągnąć? Czego chcesz uniknąć? Chciałbym uniknąć wejścia na stronę sprawdzenia jakie są pytania i wyjścia bez wysłania danych przez formularz. Jeśli się nie wyśle danych do bazy przez formularz egzamin nie zmienia statusu że został napisany. I można w niego wejść i go napisać ponownie znając już pytania. Ale wydaje mi się że najlepszym rozwiązaniem jest po prostu zmiana statusu egzaminu przy wejściu na stronę egzaminu a jeśli się wypełni formularz to wtedy uaktualnić bazę o odpowiedzi |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
A czemu test jest dotępny cały czas a nie tylko podczas egzaminu?
-------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 4.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
A czemu test jest dotępny cały czas a nie tylko podczas egzaminu? Tak na razie zrobiłem ![]() Ogólnie zasada działania jest taka: Strona z dostępnymi testami (sprawdzamy, które w bazie tabele z dostępnymi testami dla studenta i mamy link np. www.strona.pl/test??id=1 wiadomo id testów dla każdego inne) wchodzimy w link z testem o id=1 Uruchamiamy czas np 5 minut pokazuje nam się formularz Poprawne działanie które student powinien wykonać to uzupełnienie odpowiedzi i naciśnięcie przycisku Zakończ który wysyła dane i później w bazie dodaje odpowiedzi na konkretne pytania tego testu i zmienia stan dla testu id=1 dla tego użytkownika na 'napisany' (Jeśli mamy stan "napisany" już nie możemy przejść ze strony z testami do napisania tego testu, nie mamy tego linku tyko napis napisany) A złe działanie studenta może być takie że wejdzie w link www.strona.pl/test??id=1 zobaczy pytania i np naciśnie wstecz lub zmieni stronę, wtedy formularz nie jest wysłany i stan egzaminu dalej jest jako pusty więc będzie dostępny na stronie z testami jako link. Więc czy opcja że Strona z egzaminami link1 link2 link3 wtedy mamy status testu pusty wchodzimy w link1 zmieniamy w bazie status na 'napisany' uzupelniamy odpowiedzi i wysylamy formularz przypominam teraz różnica polega na tym że status jest zmieniany dopiero po wysłaniu formularza więc można zobaczyć pytania i uciec ze strony. |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Student tylko raz może wejść w test i tyle.
Co do testów z domu to nie gdybanie a oczywistość, że to idiotyczny pomysł. Prawidłowa zasada działania: - Dzień dobry. Duża część osób pewnie widzi mnie pierwszy raz więc pozwolą Państwo, że się przedstawie. - Proszę otworzyć test ID=1 - Proszę wprowadzić numer z dziennika / numer indeksu, podwójne wypełnienie testu to ocena NDST. - Proszę wprowadzić hasło dostępu "przesiew" i rozpocząć test - Mają Państwo 10 minut, automatycznie gdy 10 minut minie test się wyśle (dodatkowe sprawdzanie server-side) Wyniki od razu się wyświetlają, a same odpowiedzi zapisywane są w bazie. - Dziękuje, wpisy za 4 tygodnie. -------------------- |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 4.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chodzi o testy w domu to miałem takie coś ale nieważne też uważam że to głupie
![]() Dobra dzięki zostanę przy tym że jak wchodzimy w egzamin to zmieniamy status i już jest jako napisany nie musimy czekać aż wyślemy formularz samo wejście w link oznacza, że test był już pisany. W każdym bądź razie dzięki za pomoc działam dalej ![]() Ten post edytował wojtasklc 4.06.2014, 12:08:22 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Powinna być flaga, albo i data
- data otwarcia testu - data zapisnia testu Jeżeli data nie jest np. NULL to wiemy, że go nie otworzył jeszcze. Nie zmienia to faktu, że jest to ciągle to samo. Ważne jest jednak też rozróżnianie użytkowników. Np. żeby ktoś nie wpisywał byle jakiego numeru indeksu. To nie ma znaczenia przy teście na sali (mało, albo nic to nie da piszącemu), ma jeżeli się upierasz przy testach zdalnych. -------------------- |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 4.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Powinna być flaga, albo i data - data otwarcia testu - data zapisnia testu Jeżeli data nie jest np. NULL to wiemy, że go nie otworzył jeszcze. Nie zmienia to faktu, że jest to ciągle to samo. Ważne jest jednak też rozróżnianie użytkowników. Np. żeby ktoś nie wpisywał byle jakiego numeru indeksu. To nie ma znaczenia przy teście na sali (mało, albo nic to nie da piszącemu), ma jeżeli się upierasz przy testach zdalnych. Zrobiłem po prostu stan egzaminu na tej samej zasadzie co flaga bądź data jak nie ustawiona do test dopiero utworzony jak wejdzie zmieniamy na napisany później go sprawdza administrator(pytania otwarte) i jest stan sprawdzony. Użytkowników rozróżniam po zalogowaniu sprawdzam jaki nick jest zalogowany który to użytkownik i tam dalej zabawy z kluczami obcymi ![]() Na upartego można się logować na konta kolegi ale to tylko tak jak mówisz w testach zdalnych, bo na sali wykładowca może to sprawdzić. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 07:58 |