検証コードの使用
新しいフォームを作成します
<?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検証コード検証ページを作成し、送信後の値を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を通じて保存された検証情報を呼び出し、ユーザーの元の入力を判定し、サーバーに保存されている情報と比較し、それらが等しい場合は入力が正しい、等しくない場合は入力は間違っています
ここまでで英数字認証コードの製作は完了です。