PHP開發驗證碼之驗證碼的使用
驗證碼的使用
新form表單
<?php if(isset($_REQUEST['code'])) { session_start(); if (strtolower($_REQUEST['code'])==$_SESSION['code']) { header('Content-type: text/html; charset=UTF8'); echo '<font color="#0000CC">输入正确</font>'; } else{ header('Content-type: text/html; charset=UTF8'); echo '<font color="#CC0000"><b>输入错误</b></font>'; } exit(); } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>确认验证</title> </head> <body> <form method="post" action="form.php"> <p>验证码图片:<img id="captcha_img" border="1" src="captcha-2.php?r=<?php echo rand();?>" width="100" height="30"> </p> <p>请输入图片的内容:<input type="text" name="code" value=""/></p> <p><input type="submit" value="提交" style="padding:6px 20px;"></p> </form> </body> </html>
程式碼解釋:
<?php if(isset($_REQUEST['code'])) { session_start(); if (strtolower($_REQUEST['code'])==$_SESSION['code']) { header('Content-type: text/html; charset=UTF8'); echo '<font color="#0000CC">输入正确</font>'; } else{ header('Content-type: text/html; charset=UTF8'); echo '<font color="#CC0000"><b>输入错误</b></font>'; } exit(); } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>确认验证</title> </head> <body> <form method="post" action="form.php"> <p>验证码图片: <img src="captcha-2.php" alt="验证码,看不清楚,换一张" onclick="this.src = this.src + '?' + new Date().getTime();" /> </p> <p>请输入图片的内容:<input type="text" name="code" value=""/></p> <p><input type="submit" value="提交" style="padding:6px 20px;"></p> </form> </body> </html>
做一個html驗證碼驗證頁面,透過post的提交方式,將提交的值傳給form.php文件,圖片引入captcha-2.php,
onclick="this.src = this.src + '?' + new Date().getTime();
每次點擊圖片隨機產生一張新的圖片。
<?php if(isset($_REQUEST['code'])) { session_start(); if (strtolower($_REQUEST['code'])==$_SESSION['code']) { header('Content-type: text/html; charset=UTF8'); echo '<font color="#0000CC">输入正确</font>'; } else{ header('Content-type: text/html; charset=UTF8'); echo '<font color="#CC0000"><b>输入错误</b></font>'; } exit(); }
php判斷,呼叫透過SESSION儲存的驗證訊息,判斷使用者的原始輸入和伺服器上儲存的資訊做對比,如果相等則輸入正確,如果不相等則輸入錯誤
至此數字字母驗證碼的製作完成。