php中session驗證碼不同步的解決辦法:引入【yzm.php】頁面,登入頁面設定一個表單提交路徑即可,程式碼為【session_start();echo $_SESSION['yzm'];】。
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['yzm']=$yzm;
登入頁面:
<input type="text" value="">
紅色程式碼為了檢測是否能夠正確獲得圖片中的驗證碼,但是在測試中,我發現我多次一舉了。
因為每次重新整理這個頁面之後顯示的都是上一次的內容。最後網上查閱了一番發現,session
變數,設定之後是需要重新整理頁面才會生效的。
我們在登入頁面是首次引入yzm.php
頁面。沒有重新整理頁面。所以當前用$_SESSION
是獲取不到的,當我們重新整理這個頁面的時候,獲取到的是上一次的session值,
為了測試猜想是否正確。登入頁面設定一個表單提交路徑。連結的頁面為:
session_start(); echo $_SESSION['yzm'];
結果符合。
以上就是php中session驗證碼不同步怎麼辦?的詳細內容,更多請關注TW511.COM其它相關文章!