PHP開(kāi)發(fā)驗(yàn)證碼之驗(yàn)證碼的使用
驗(yàn)證碼的使用
新建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>輸入錯(cuò)誤</b></font>'; } exit(); } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>確認(rèn)驗(yàn)證</title> </head> <body> <form method="post" action="form.php"> <p>驗(yàn)證碼圖片:<img id="captcha_img" border="1" src="captcha-2.php?r=<?php echo rand();?>" width="100" height="30"> </p> <p>請(qǐng)輸入圖片的內(nèi)容:<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>輸入錯(cuò)誤</b></font>'; } exit(); } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>確認(rèn)驗(yàn)證</title> </head> <body> <form method="post" action="form.php"> <p>驗(yàn)證碼圖片: <img src="captcha-2.php" alt="驗(yàn)證碼,看不清楚,換一張" onclick="this.src = this.src + '?' + new Date().getTime();" /> </p> <p>請(qǐng)輸入圖片的內(nèi)容:<input type="text" name="code" value=""/></p> <p><input type="submit" value="提交" style="padding:6px 20px;"></p> </form> </body> </html>
做一個(gè)html驗(yàn)證碼驗(yàn)證頁(yè)面,通過(guò)post的提交方式,將提交的值傳給form.php文件,圖片引入captcha-2.php,
onclick="this.src = this.src + '?' + new Date().getTime();
每次點(diǎn)擊圖片隨機(jī)生成一張新的圖片。
<?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>輸入錯(cuò)誤</b></font>'; } exit(); }
php判斷,調(diào)用通過(guò)SESSION存儲(chǔ)的驗(yàn)證信息,判斷用戶的原始輸入和服務(wù)器上存儲(chǔ)的信息做對(duì)比,如果相等則輸入正確,如果不相等則輸入錯(cuò)誤
至此數(shù)字字母驗(yàn)證碼的制作完成。