 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
hiconlabs
Data înscrierii: 13/Aug/2006
Mesaje: 28
|
| Trimis: Mie Dec 12, 2007 11:30 pm Titlul subiectului: proiect teste online cu raspuns in timp dat(tehnologii) |
|
|
Am de dezvoltat un proiect de teste de inteligenta online. Problema e ca fiecare intrebare trebuie sa primeasca un raspuns intr-un numar de secunde.
Ma gindeam sa intreb ce tehnologii credeti ca ar fi cele mai potrivite.
Am exemplul asta. http://www.highiqsociety.org/iq_tests/
Ma cam deranjeaza ideea de flash - sql.
Aveti ceva idei? Merci. |
|
| Sus |
|
badtiger
Data înscrierii: 03/Noi/2006
Mesaje: 248
|
| Trimis: Joi Dec 13, 2007 12:00 am Titlul subiectului: |
|
|
| daca foloseste javascript isi pierde din securitate, adica oricine isi poate modifica timpul de raspuns, mai poti face din php cu sleep si dai refresh in alta pagina dupa un anumit numar de secunde si vezi sa scoti timpul de executie a scriptului (oricum chestia cu sleep-ul este relativa... aici chiar daca nu sunt deloc fan flash il recomand cu caldura...) |
|
| Sus |
|
Pirahna
Data înscrierii: 22/Aug/2004
Mesaje: 4650
Locație: la birou
|
| Trimis: Joi Dec 13, 2007 12:10 am Titlul subiectului: |
|
|
Exista ajax ...
Apelezi un php care ia data de pe server, stabilesti inceputul testului, etc, apoi cand omu apasa next pe pagina iei din nou data si o compari cu cea initiala sau de la intrebarea anterioara ...
Daca depaseste numarul de secunde alocat (sau poti sa pui sa treaca automat la urmatoarea intrebare dupa ce s-a terminat timpul alocat intrebarii) il treci la urmatoarea intrebare (din php).
Se poate face o combinatie php si ajax ...
Daca nu are javascript enabled, nu-l lasi sa dea testul. |
|
| Sus |
|
whooper
Data înscrierii: 05/Apr/2005
Mesaje: 729
Locație: Toronto ON
|
| Trimis: Joi Dec 13, 2007 4:28 am Titlul subiectului: |
|
|
Fiind doar text, presupun ca pagina se incarca repede. Poti tine minte intr-o variabila de sesiune timestamp-ul atunci cand o generezi. La submit iar poti afla timestamp-ul cand parsezi rezultatele. Faci diferenta si obtii timpul in care s-a dat raspunsul.
Pe partea de client trebuie sa-i afisezi utilizatorului cat timp mai are pana cand astepti rezultatul si asta o faci cu JS. Chiar daca cineva modifica ceva, e doar afisare si doar el este cel in pierdere. Un exemplu de counter in JS gasesti AICI daca faci un view-source. Cand exira timpul, faci un submit automat.
exemplu de apelare:
<script language="JavaScript" type="text/javascript">
CountDownClock('243057', 'Zile', 'Ore', 'Minute', 'Secunde', 'Timp Expirat', 'Actualizarea paginii se face in:', 'Minute', 'Secunde');
</script>
Cod:
<script type="text/javascript">
var da,mo,yr,ho,mi,se;
var countdownwidth='130px';
var countdownheight='20px';
var StartMilsecleft=0;
var MilSecleftBeforeEnd = 0;
var daystring, hourstring, minutestring, secondstring, endofauctionstring, NextRefreshString, NextRefreshMinStr, NextRefreshSecStr;
function CountDownClock(timeLaps, daystr, hourstr, minutestr, secondstr, ...
restul in pagina aia de mai sus!
|
|
| Sus |
|
hiconlabs
Data înscrierii: 13/Aug/2006
Mesaje: 28
|
| Trimis: Joi Dec 13, 2007 8:59 pm Titlul subiectului: |
|
|
| multumesc. asta chiar ajuta. |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|