首頁  >  文章  >  後端開發  >  php中session驗證碼不同步怎麼辦?

php中session驗證碼不同步怎麼辦?

coldplay.xixi
coldplay.xixi原創
2020-07-11 14:15:212455瀏覽

php中session驗證碼不同步的解決方法:引入【yzm.php】頁面,登入頁面設定一個表單提交路徑即可,程式碼為【session_start();echo $_SESSION['yzm'] ;】。

php中session驗證碼不同步怎麼辦?

php中session驗證碼不同步的解決方法:

驗證碼產生頁面:

for($i=0;$i<4;$i++){
$y = mt_rand(3,10);
$size = mt_rand(5,8);
$ran = dechex(rand(0,15));
imagestring($im,$size,(2+$i*15),$y,$ran,imagecolorallocate($im,rand(0,100),rand(0,150),rand(0,200)));
$yzm.=$ran;
}
$_SESSION[&#39;yzm&#39;]=$yzm;

登入頁面:

\3d4be046353cdf42b5a24a4bc87da507

紅色程式碼為了偵測是否能夠正確取得圖片中的驗證碼,但在測試中,我發現我多次一舉了。

因為每次刷新這個頁面之後顯示的都是上一次的內容。最後在網路上查閱了一番發現,session變量,設定之後是需要刷新頁面才會生效的。

我們在登入頁面是第一次引入yzm.php頁。沒有刷新頁面。所以目前用$_SESSION是取得不到的,當我們刷新這個頁面的時候,取得到的是上一次的session值,

為了測試猜想是否正確。登入頁面設定一個表單提交路徑。連結的頁面為:

session_start();
 echo $_SESSION[&#39;yzm&#39;];

結果符合。

相關學習推薦:PHP程式設計從入門到精通

#

以上是php中session驗證碼不同步怎麼辦?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn