⑴ php 提交表單到當前頁面如何防止頁面刷新重復提交~
最常用的方法就是利用token。即:
1、在生成頁面的時候生成一個token(隨機字元串),並把它同時寫入表單的某個hidden中,和服務端的session中。
2、客戶端提交表單到伺服器時,比對表單中的token與session中的token是否一致。若不一致則認為是無效的請求。
3、不管第2步的校驗是否通過,token只要使用一次後就立即作廢(即:從session中銷毀)。同時token也可以關聯時間信息,超時後也自動作廢。
這樣,即便客戶端重復提交,也只有第一次的請求能夠成功。
⑵ 怎麼用php刷新頁面
方法其實挺多的。以前比較常用的是iframe這樣來做。現在多了個ajax,所以一般情況下都是用的ajax。
第一種方法,ajax實現:
當然,ajax使用起來確實很簡單就可以實現,但是裡面的很多知識還是比較有點深的。我之前做頁面時間自動刷新的功能就是用的ajax。完整代碼是:
1.getTime.php:
代碼如下:
<?php
header("cache-control:no-cache,must-revalidate");
header("Content-Type:text/html;charset=utf-8");
$time = "2012-1-20 18:00:00";
$dt_element=explode(" ",$time);
$date_element=explode("-",$dt_element[0]);
$time_element=explode(":",$dt_element[1]);
$date = mktime($time_element[0],$time_element[1],$time_element[2],$date_element[1],$date_element[2],$date_element[0]);
$nowTime = time();
$showtime = date("北京時間Y年m月d日H:i:s",$date-$nowTime);
if($showtime<="北京時間1970年01月01日08:00:00"){
echo "happy new year";
}
echo $showtime;
2.zidong.php:
代碼如下:
</head>
<body>
<h1>Ajax動態顯示時間</h1>
<input type="button" value="開始顯示時間" id="go" onclick="start()" />
<p>當前時間:<font color="red"><span id="showtime"></span></font></p>
</body>
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
function start(){
createXMLHttpRequest();
var url="getTime.php";
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange = callback;
xmlHttp.send(null);
}
function callback(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
document.getElementById("showtime").innerHTML = xmlHttp.responseText;
setTimeout("start()",1000);
}
}
}
</script>
</html>
在瀏覽器裡面直接訪問zidong.php就可以了,點擊裡面的按鈕就可以看到效果。
這個就是用ajax做的刷新頁面局部內容的小例子。你可能會懷疑:這裡面沒有跟資料庫交互啊?這還不簡單,直接在getTime.php頁面裡面操作就可以啦。
這種方法就不用多說了吧。至於ajax裡面的代碼是什麼意思,不要問我啦,我之前就說過,這裡面的ajax還是有點深的。
第二種方法:使用iframe方法實現。
不要給我說用PHP 的include可以啊。你去試試吧。可以,可以就不會有那麼多人在網路裡面問了。
這種方法呢說起來復雜,其實還是挺簡單的。說下原理吧:
要刷新的頁面中把要自動刷新的局部的代碼單獨拿出來,做成一個獨立的頁面,自動刷新有很多種方法:可以在這個獨立頁面中用javascript來控制,什麼setTimeout("start()",1000);啊或者setInterval("start()",1000);(每隔1秒刷新頁面)這樣,還可以用meta標簽實現:<meta http-equiv="Refresh" content="10">(每隔10秒刷新頁面)。這樣在原來的頁面中用iframe來將它調用過來。這樣就可以了。
⑶ 如何編寫讓php頁面自動刷新
需要准備的材料分別是:電腦、php編輯器、瀏覽器。
1、首先,打開php編輯器,新建php文件,例如:index.php。
⑷ php怎麼在點擊提交按鈕後實現自動刷新,具體是這樣的,A頁面以新窗口方式提交到B頁面,B頁面接收到
ajax非同步提交,A頁面局部刷新,這跟phpg關系不大,主要是js