1. 程式人生 > >cookie猜數字遊戲(上)---------------思路分析(踩坑)

cookie猜數字遊戲(上)---------------思路分析(踩坑)

  • 說明:使用者第一次請求頁面的時候,同時會產生一個隨機數,使用者點提交表單的時候,會將輸入的數字與第一次請求產生的數字進行一個對比。
  • 問題一:如何儲存使用者每次提交的資料

 我們常見的在伺服器中儲存資料的方式是通過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中,然後判斷這個陣列的長度