本文目錄一覽:
- 1、php生成cookie的問題,納悶ing…
- 2、用php寫一個猜隨機數的程序。產生一個10以內的隨機數,讓用戶在文本框輸入猜的數字有5次機會。
- 3、PHP中如何使用Cookie
- 4、誰有辦法(前提是html與php分離)用隨機數,cookie,session,在php同一個頁面判斷表單是否重複提交?
- 5、如何使用PHP操作cookie
php生成cookie的問題,納悶ing…
直接用session好了,session比較安全,畢竟驗證信息保留在服務器端的,同時session_start();是必須放在最頂端的一句,放後面經常會有問題的。
session_start();//啟用session
$_SESSION[name]=$nametemp;//設置session
unset($_SESSION[name]);清空session
session_destroy;//關閉session,但是不清空
用php寫一個猜隨機數的程序。產生一個10以內的隨機數,讓用戶在文本框輸入猜的數字有5次機會。
用if語句判斷$a是否已經存有隨機數,沒有則隨機生成一個隨機數放入$a中,並讓剩餘次數$b為5。用戶輸入後將$a與輸入的數字對比,並給出相應的提示。並且把$b減1,直到$b為0時結束。獲取用戶輸入和表單隱藏的數據可用GET 或 POST。
span/span
form method=”post” action=””
輸入數字(1-10)
input type=”text” name=”sz” size=”6″ value=”10″
input type=”hidden” name=”rand” value=?php echo $_COOKIE[‘read’];?
input type=”hidden” name=”last” value=”5″ autocomplete=”off”
input type=”button” name=”sub” value=”確認”
/form
script src=””/script
script
$(document).ready(function(){
$(“[name=’sub’]”).click(function(){
if($(“[name=’last’]”).val() 1){alert(“你沒機會了”);return;}
$.post(“”,{sz:$(“[name=’sz’]”).val(),rand:$(“[name=’rand’]”).val()},function(result){
$(“[name=’last’]”).val($(“[name=’last’]”).val()-1);
$(“span”).html(result+’還有’+$(“[name=’last’]”).val()+’次機會’);
});
});
});
/script
擴展資料:
使用計算機產生真隨機數的方法是獲取cpu頻率與溫度的不確定性以及統計一段時間的運算次數每次都會產生不同的值,系統時間的誤差以及聲卡的底噪等。
在實際應用中往往使用偽隨機數就足夠了。這些數列是“似乎”隨機的數,實際上它們是通過一個固定的、可以重複的計算方法產生的。計算機或計算器產生的隨機數有很長的周期性。它們不真正地隨機,因為它們實際上是可以計算出來的,但是它們具有類似於隨機數的統計特徵。這樣的發生器叫做偽隨機數發生器。
參考資料來源:百度百科-隨機數
PHP中如何使用Cookie
比如設置一個名為 MyCookier的Cookie,PHP會自動從WEB服務器接收的HTTP頭裡把它分析出來,並形成一個與普通變量一樣的變量,名為$ myCookie,這個變量的值就是Cookie的值。數組同樣適用。另外一個辦法是引用PHP的全局變量$HTTP_COOKIE_VARS數組。分別舉例如下:(假設這些都在以前的頁面里設置過了,並且仍然有效)echo $MyCookie;echo $CookieArray[0];echo $_COOKIE[“MyCookie”];echo $HTTP_COOKIE_VARS[“MyCookie”];要刪除一個已經存在的Cookie,有兩個辦法:1、SetCookie(“Cookie”, “”);2、SetCookie(“Cookie”, “value” , time()-1 / time() );使用Cookie的限制1、必須在HTML文件的內容輸出之前設置;2、不同的瀏覽器對Cookie的處理不一致,且有時會出現錯誤的結果。3、限制是在客戶端的。
誰有辦法(前提是html與php分離)用隨機數,cookie,session,在php同一個頁面判斷表單是否重複提交?
首先,服務器端獲取用戶的session id 值,構建表單功能隨機數,發回客戶端cookie,並保存在數據庫臨時表中,當再次提交時,驗證cookie中session id 及表單功能隨機數,若同時都滿足,則說明是重複提交。
當然,根據相應的網頁功能,具體驗證令牌還需擴充,只是給樓主一個思考方式。
不足之處望見諒。
如何使用PHP操作cookie
PHP setcookie() 函數向客戶端發送一個 HTTP cookie。cookie 是由服務器發送到瀏覽器的變量。cookie 通常是服務器嵌入到用戶計算機中的小文本文件。每當計算機通過瀏覽器請求一個頁面,就會發送這個 cookie。cookie 的名稱指定為相同名稱的變量。例如,如果被發送的 cookie 名為 “name”,會自動創建名為 $user 的變量,包含 cookie 的值。必須在任何其他輸出發送前對 cookie 進行賦值。如果成功,則該函數返回 true,否則返回 false。 setcookie(name, value, expire, path, domain, secure) name 必需。規定 cookie 的名稱。value 必需。規定 cookie 的值。expire 可選。規定 cookie 的有效期。path 可選。規定 cookie 的服務器路徑。domain 可選。規定 cookie 的域名。secure 可選。規定是否通過安全的 HTTPS 連接來傳輸 cookie。可以通過 $HTTP_COOKIE_VARS[“user”] 或 $_COOKIE[“user”] 來訪問名為 “user” 的 cookie 的值。在發送 cookie 時,cookie 的值會自動進行 URL 編碼。接收時會進行 URL 解碼。如果你不需要這樣,可以使用 setrawcookie() 代替。程序1:設置並發送 cookie: ?php $value = “my cookie value”; // 發送一個簡單的 cookie setcookie(“TestCookie”,$value); ? html body … … ?php $value = “my cookie value”; // 發送一個 24 小時候過期的 cookie setcookie(“TestCookie”,$value, time()+3600*24); ? html body 程序2:檢索cookie 值的不同方法: html body ?php // 輸出個別的 cookie echo $_COOKIE[“TestCookie”]; echo “br /”; echo $HTTP_COOKIE_VARS[“TestCookie”]; echo “br /”; // 輸出所有 cookie print_r($_COOKIE); ? /body /html 程序輸出: my cookie value my cookie value Array ([TestCookie] = my cookie value) 程序3:通過把失效日期設置為過去的日期/時間,刪除一個 cookie: ?php // 把失效日期設置為一小時前 setcookie (“TestCookie”, “”, time() – 3600); ? 程序4:創建一個數組 cookie: ?php setcookie(“cookie[three]”,”cookiethree”); setcookie(“cookie[two]”,”cookietwo”); setcookie(“cookie[one]”,”cookieone”); // 輸出 cookie (在重載頁面後) if (isset($_COOKIE[“cookie”])) { foreach ($_COOKIE[“cookie”] as $name = $value) { echo “$name : $value br /”; } } ? 程序輸出: three : cookiethree two : cookietwo one : cookieone 程序5: /** * 01.cookie設置 * */ function ssetcookie($var, $value, $life=0) { global $_SGLOBAL, $_SC, $_SERVER; setcookie($_SC[‘cookiepre’].$var, $value, $life?($_SGLOBAL[‘timestamp’]+$life):0, $_SC[‘cookiepath’], $_SC[‘cookiedomain’], $_SERVER[‘SERVER_PORT’]==443?1:0); }
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/181612.html