php網絡考試系統的倒計時怎么做?
1.用js的setinterval()來設一定倒計時,倒計時的初始值由php分配過來;
2.為了防止別人自己調試js,修改時間,每10秒鐘或更小用ajax檢測一下服務器,統一次差值,這樣就和服務器同步了。
3.在服務器每份試卷或每個人都是唯一的,只要開始啟用,到時自動過期,保存存一個“提交失敗”。如果同時答題的人數不是很巨大,直接存session里面,訪問量高的話存在數據庫里面。
4.當倒計時為0時自動提交到服務器,服務器設一個容錯時間,大概1分鐘左右,即網絡傳輸過程中超過1分鐘就會提交失敗。
5.在這考試期間,無論怎么刷新都是那一套題目,提交成功后就不能斷續做題;提交失敗后重新分配另一套題;重新開始計算時間;
6.避免題目重復,當提交失敗3次后,就不能再次做題了。雖然這樣做了,也只能防止菜鳥作弊! 代碼自己寫。。