您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么解決php中驗證碼不同步問題”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么解決php中驗證碼不同步問題”吧!
php中驗證碼不同步是因為頁面加載login.php頁面時,圖片的加載跟其他標簽加載是異步的,所以其他標簽信息先加載,而后才會去加載圖片。
本文操作環境:windows7系統、PHP7.1版、DELL G3電腦
php中 驗證碼不同步怎么辦?
完美解決php驗證碼session不同步的問題
各位搞開發的人都經歷過被怪現象折磨的滋味,怎么說呢?想找原因找不出來,想解決又解決不了,接下來我們就來說說php驗證碼這個怪僻。。
先給大家上個圖,相信你們也似曾相識。。
你會發現兩個值竟然不一樣,不一樣咋驗證?????
于是乎,我就在網上找到了原因:頁面加載login.php頁面時,圖片的加載跟其他標簽加載是異步的,所以其他標簽信息先加載,而后才會去加載src(圖片),不同步導致“驗證碼”也不同步。
知道了原因,作為菜鳥的我看了別人寫的解決方案后仍然無從下手。。
終于,在一個偶然的機會,我從一個項目中找到答案。。
其實,解決方法很簡單,根本不用理會顯示的值相同不相同,舉個例子。。
login.php 登錄頁面
<form action="login_check.php" method="post"> 驗證碼: <input name="checkcode" type="text" /><img src="yan.php" alt="看不清?點擊更換" style="cursor:pointer" onClick="this.src=this.src+'?'" />//yan.php是生成驗證碼的頁面。 </form>
login_check.php 驗證頁面
<?php session_start();//開啟session $checkcode= strtolower($_POST["checkcode"]);//獲取驗證碼文本框的值 echo $checkcode;//輸出驗證碼文本框的值 echo $_SESSION['VerifyCode']//輸出yan.php輸出的值 ?>
提交后,你會驚奇的發現,如果我在login.php輸入與生成驗證碼的值一樣的話,那么在login_check.php輸出的兩個值是除了大小寫不一樣,字母是一樣的。
當然大小寫的問題,我們都能解決。
講到這里,我相信,不同步的問題就算解決了
當然,我知道有些最求完美的人喜歡用ajax,根據個人所好,屏閃來閃去,看起來也不太爽,不過,用ajax的話,不要提交到本頁面,不然驗證不了,通過一個外部文件進行異步驗證是沒有問題的。
到此,相信大家對“怎么解決php中驗證碼不同步問題”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。