本文目錄一覽:
php 倒計時
?php
function compDate($Date_1,$Date_2){
$Date_List_1=explode(“-“,$Date_1);
$Date_List_2=explode(“-“,$Date_2);
$d1=mktime(0,0,0,$Date_List_1[1],$Date_List_1[2],$Date_List_1[0]);
$d2=mktime(0,0,0,$Date_List_2[1],$Date_List_2[2],$Date_List_2[0]);
$Days=round(($d1-$d2)/3600/24);
return $Days;
}
$today=date(“Y-m-d H:i:s”);
$day=”2010-05-01 00:00:00″;
$days=compDate($day,$today);
echo $days;
?
php 網絡考試系統 的倒計時怎麼做?時間到了自動彈出交卷的對話框?
1.用js的setinterval()來設一定倒計時,倒計時的初始值由php分配過來;
2.為了防止別人自己調試js,修改時間,每10秒鐘或更小用ajax檢測一下服務器,統一次差值,這樣就和服務器同步了。
3.在服務器每份試卷或每個人都是唯一的,只要開始啟用,到時自動過期,保存存一個「提交失敗」。
如果同時答題的人數不是很巨大,直接存session裏面,訪問量高的話存在數據庫裏面。
4.當倒計時為0時自動提交到服務器,服務器設一個容錯時間,大概1分鐘左右,即網絡傳輸過程中超過1分鐘就會提交失敗。
5.在這考試期間,無論怎麼刷新都是那一套題目,提交成功後就不能斷續做題;提交失敗後重新分配另一套題;重新開始計算時間;
6.避免題目重複,當提交失敗3次後,就不能再次做題了。
雖然這樣做了,也只能防止菜鳥作弊!
代碼自己寫。。
求助PHP倒計時程序
php部分,記錄下提交訂單時的時間戳,並以保存在數據庫中;
$postdate = time();
當用戶再次執行操作的時候,判斷操是否在48小時內的有效操作;
只需要比較,用戶操作時的時間戳和提交訂單時間是否超過48小時即可;
$operatetime = time();
if( $operate – $postdate 48 ) {
echo “有效”;
}else {
echo “無效”;
}
根據你的提問,我已經回答完畢;但我覺得你的提問,可能不是想要這個答案;你可能需要的是,在頁面上顯示跳時,的這種倒計時效果;所以,我在補充一下;你覺得能用,你就用;
1.還是一樣,記錄提交訂單時間戳到數據庫 $postdate;
2.當用戶再次訪問時的時間戳$nowtime = time();
這裡可以通過這兩個值,可以計算出,離48小時還有多少秒;
$time = 48 * 3600 – ($nowtime – $postdate);
3.把$time傳遞給js; 採用 var t = ? echo $time ?;
4.寫一個顯示函數;function showtime;
5.每秒執行一次.
6.大概代碼
div id=”shower”/div
script type=”text/javascript”
var t = ? echo $time ?;
var int =self.setInterval(“showtime()”,1);
function showtime(){
var hh = t / 3600;
var mm = (t – hh * 3600)/60
var ss = t – hh * 3600 – mm * 60;
var stringhh = hh 10 ? ‘0’+hh : hh;
var stringmm = mm 10 ? ‘0’+mm : mm;
var stringss = ss 10 ? ‘0’+ss : ss;
document.getElementById(‘shower’).innerHTml = stringhh + stringmm + stringss;
t = t -1;
}
/script
php中怎樣實現倒計時功能
可以考慮asp實現:
1.HiddenField 控件儲存時間
!–2700秒時間–
asp:HiddenField ID=”hidTime” runat=”server” Value=”2700″ /
2.js代碼
script language=”javascript” type=”text/javascript”
var time;
var minutes;
var seconds;
var str;
function ShowTime2() {
if(document.getElementById(“btnSubmitExam”) !=null)
{
time = document.getElementById(“hidTime”).value;
time = time – 1;
document.getElementById(“hidTime”).value = time;
minutes = parseInt(time / 60);
seconds = time % 60;
document.getElementById(“DjTimeDiv”).innerHTML = “剩餘時間:” + minutes + “分鐘” + seconds + “秒”;
if (time == 1) {
document.getElementById(“DjTimeDiv”).innerHTML=”剩餘時間:0分鐘0秒”;
document.getElementById (“btnSubmitExam”).click();
// window.close();
}else
{
setTimeout(“ShowTime2()”, 1000);
}
}else
{
document.getElementById(“DjTimeDiv”).innerHTML=”剩餘時間:0分鐘0秒”;
}
}
/script
php循環倒計時的代碼
這個可能要配合子框架和JS的功能來實現.
思路是:
1. 在主框架頁面上,安排一個表單 + 一個文本框(設變量名為 end_time),用來設置時間(target 指向子框)(日期格式: 2009-05-28 12:00:00 )
2. 再插入一個對象用來顯示剩餘時間(可以是文本框,也可以是span標記,還可以是其它可以用JS替換內容的對象就可以了)(假設它的標記是span id=”timeout”/span).
3. 在主框架上插入一子框架,子框架的源文件指向php文件
4. 在PHP源文件中插入適當代碼.代碼的作用主要分幾部分,
A.計算剩餘時間
B.用於更新主頁面的剩餘時間對象的JS代碼.
C.適當設置頁面刷新的時間(用JS或刷頁刷新代碼)
部分代碼:
1.主框架(index.php)
form action=”timer.php” method=”post” name=”form1″ target=”timerframe” id=”form1″
table border=”0″
tr
td開始時間
label/label/td
tdinput name=”end_time” type=”text” id=”end_time” value=”?php echo date(“Y-m-d H:i:s”);?” //td
tdlabel
input type=”submit” name=”Submit” value=”提交” /
/label/td
/tr
/table
table width=”400″ border=”0″
tr
td /td
/tr
tr
td離結束還有:span class=”STYLE1″ id=”timeout”aaaaa/span/td
/tr
/table
/form
iframe name=”timerframe” width=”1″ height=”1″/iframe
2.子框架(timer.php)
body
?php
$endTime=strtotime($_REQUEST[‘end_time’]); //將終止時間轉為nix_timestamp格式
$now=time(); //當前時間
//printf( “N:%s,\nbrE:%s\nbr”,$now,$endTime);
if($now=$endTime) //如果時間已過結束時間
{
?
script language=”javascript”
var f=parent.document.getElementById(“form1”)
f.end_time.value=’?php echo date(“Y-m-d H:i:s”,$endTime+2*3600);?’
f.submit()
/script
?php
exit;
}
$timeLeft=$endTime-$now; //計算剩餘的秒數,並轉換為對應的 時:分:秒 的格式
?
script language=”javascript”
parent.document.getElementById(“timeout”).innerHTML=’?php echo date(“H:i:s”,$timeLeft-8*3600);?’
function refresh()
{
var f=parent.document.getElementById(“form1”)
f.submit();
}
setTimeout(“refresh()”,5000)
/script
/body
原創文章,作者:INRUG,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/318199.html