① php中如何實現防刷新機制
最常見的防刷新肯定是在處理表單的時候,防止重復提交。我們有很多種方式來處理:1、提交表單之後,進行跳轉,這是很常用的方式。如果你的表單是從index.php提交到post.php頁面處理的,那麼提交完之後可以跳轉再回到index.php頁面,這樣再刷新就不會重復提交了。如果你是提交給當前頁面處理,可以在提交之後再重新跳轉到當前頁面。2、使用驗證碼,也很常用。在提交表單數據之前先判斷驗證碼,由於每提交一次,驗證碼就會變,所以這樣是可以避免重復提交的。3、使用Ajax方式,毫無疑問可以避免刷新重復提交。以上討論的是針對表單提交的防刷新,那麼其他的防刷新呢?比如,我要統計一篇文章的點擊數,我希望當用戶刷新頁面的時候,不進行統計,該怎麼辦呢?在此,站長只提供一種不完美的解決方案:即在當前的會話中,不統計重復載入。請看下面的代碼:<?php session_start();if(!$_SESSION['sid']){ $_SESSION['sid']=session_id(); echo 『您在此次會話中第一次瀏覽該頁面,進行統計』;}else{echo 『您已經在此次會話中瀏覽過該頁面,不統計』; }?>當用戶在第一次會話中訪問頁面時,進行統計,並把當前的會話id存在session,如果用戶刷新或者從瀏覽器重新載入,由於在當前會話中已經訪問過了,所以不會再次統計。但是,如果當用戶關閉瀏覽器後再瀏覽,是會統計的。在此,站長也就文章統計是否有必要做得這么精確,說一些個人看法吧。
② 在用php做小頁面,有個表單.每次刷新頁面時老是提示不要重復提交表單怎樣去掉這個提示啊
首先,為什麼會指槐答出現這個問題?假設你在a.html有一個表單<form>....</form>,首先我們要理解瀏覽器這樣做的用意:如果我們刷新這個網頁,你表單填寫的內容可能會被reset。如果你的表單是長長的填寫了很多內容,你當然不希望重頭再來,就這點而言,瀏覽器的提示沒有惡意。我們要做的就是告訴瀏覽器:放心刷新。這也是解題的思路:在刷新時把表單撤了。當然,我的情況可能和你的不同,我寫的是彈窗式的登錄頁面,所以,我用Jquery寫了個Load(「b.html」),b.html里只有一個<form>。這樣做就可以保證a.html里沒有<form>。只有你的網唯慧頁里有<form>,chrome就會提示「重新提交表單」。這個情況在IE,FF則不會明褲出現。
這是我遇到的情況,希望對你有啟發。
③ PHP關於避免 頁面刷新時 重復提交表單的問題。。
其實有一個陵盯不太好的辦法
就是當用戶提交表單之後,用js彈出一個框,已成功提交,
echo "<script>alert('已渣亂成功提交')</script>";
然後用php的header或者js跳轉到提交頁面
header("location:$post");
這樣相當於自己刷新如汪檔了一遍頁面,然後用戶再怎麼刷新也沒事
雖然用戶體驗不是很好,不過如果沒用Ajax的話,正常提交也要刷一下的,樓主可以自己試下