- 說明:用戶第一次請求頁面的時候,同時會產生一個隨機數,用戶點提交表單的時候,會將輸入的數字與第一次請求產生的數字進行一個對比。
- 問題一:如何保存用戶每次提交的數據
我們常見的在服務器中保存數據的方式是通過file_put_content()函數,將用戶輸入的數據保存在服務端的一個.txt文件中,那麼問 題來了===========如果同一時刻有另外一個用戶也在提交表單,那麼.txt文件中的數據就可能被另外一個用戶修改。
這裏我們用cookie將不同用戶提交的數據保存到不同的cookie中
- 問題二:不是每次提交表單都要產生隨機數,瀏覽器如何辨別用戶提交頁面的時候是不是遊戲開始
解決方案一:我們可以通過識別用戶提交的方式是GET方式還是POST方式(如from表單裏method="get"就會有問題,這個時候每次提交的都是get請求)
解決方案二:我們可以通過提交次數來辨別,如果是第一次提交就產生隨機數,如果是第二次提交就不產生隨機數
問題三我們如何做到猜10次
方法1:另外存一個cookie['count']用來記錄,每猜一次就讓他的值+1
$count = empty($_COOKIE['count']) ? 0:(int)$_COOKIE['count'];
//如果是第一次猜count=0,如果不是第一次猜count就爲當前的值
if($count<10)
{
........
setcookie('count',$count+1);//執行完一次就將$count加1
}else{
echo "遊戲結束,挑戰失敗";
setcookie('num');
setcookie('count');
}
方法2:將每次猜的數保存在COOKIE中,然後判斷這個數組的長度