一个简单的php验证码实例仅供参考和理解, 验证输入文件verify.php 和 验证结果文件verify2.php,如下
verify.php
php $str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; ///数字和字母验证码 $str2 = 'ABCDEF0123456789'; ///用于验证码字符,16进制颜色 $captcha=''; ///验证码初始值EOF; ?>
////随机获取四个字符的验证码 for ($i=0; $i < 4; $i ) { $color = '#'; for ($j=0; $j < 6; $j ) { $color.=$str2{ mt_rand(0,strlen($str2)-1)}; }
$captcha .= '$color.'">'.$str{ mt_rand(0,strlen($str)-1)}.''; }
///输出显示带框的验证码 echo ''.$captcha.'';
$captcha = strip_tags($captcha); //去除html标签,去除颜色,留下纯字符 echo "
"; echo "
"; echo "
";
/* 验证码输入框
* 设置一个hidden存储验证码的标签值
* 用post该方法将验证码的值和输入值传输到verify2.php去比较验证
*/ echo<<<EOF
verify2.php
php
// 将获取到验证码的值和输入值转换为小写,并使用php内置函数srim()去除左右空间 $verify = trim(strtolower($_POST['verify'])); $verify2 = trim(strtolower($_POST['captcha']));
///判断输入是否空
if (!isset($verify) || $verify == '') { exit('null..try again'); }
///判断验证码输入是否成功 if ($verify == $verify2) { echo "success!"; }else exit('wrong..try again'); ?>