验证码问题求解决 验证码php 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般验证码都是保存到session里面然后采用输入框里面的数据与session里面对应验证码的字段进行匹配后进行判断的。不知道lz是想要什么样的。 把你的验证码方法,封装为类方法,需要的时候直接实例化类就可以用,记得session_start(); <?phpsession_start(); // 開啓sessionob_clean();for($i=0;$i<4;$i++){$num.=dechex(rand(0,15)); }$num=substr($num,-4,4);$_SESSION['captcha'] = $num; // 把驗證碼寫入session$nowimage=imagecreate(100,30);imagecolorallocate($nowimage,240,240,240);for($i=0;$i<strlen($num);$i++){$font=mt_rand(3,5);$x=mt_rand(1,8)+100*$i/4;$y=mt_rand(1,50/4);$color=imagecolorallocate($nowimage,rand(0,150),rand(0,150),rand(0,150));imagestring($nowimage,$font,$x,$y,$num[$i],$color);}for($i=0;$i<200;$i++){$randcolor=imagecolorallocate($nowimage,rand(200,255),rand(200,255),rand(200,255));imagesetpixel($nowimage,rand()%70,rand()%20,$randcolor);}header("content-type:image/png");imagepng($nowimage);imagedestroy($nowimage);?>加了兩句session_start();$_SESSION['captcha'] = $num;驗證頁面session_start();if($captcha == $_SESSION['captcha']){ // $captcha為用戶提交的驗證碼 // pass}else{ // not match} #5但是在index.php 页面接受的$_SESSION['captcha']的数据和验证码显示出来的数据不同步(慢了一步) index.php 的接受验证码比verficode.php 页面接收的验证码慢了一步 index.php 先于 verficode.php 执行,慢一步是正常的所以 zf 采用了保存验证码图片的方案前几天才在这里讨论过,你可找一下 我想要在织梦环境下 做个效果 在不同地区 访问同一个站点 显示的主页不一样 php的安全问题求解 php.ini中,如何设置,才可以让 if ($a),返回true 本人在安装php出现了一个问题,请大家指教! 刚接触PHP。问个模板内循环数据的问题。 求前辈推荐一个好的培训学校 php http通讯 问个dreamweaver下的问题 请问高手 讨论:Win32下的PHP用不用把.dll复制到相应的目录下 求一个Php 提取表格内容的正则表达式 php程序如何处理一个字符串中的间隔号
<?php
session_start(); // 開啓session
ob_clean();
for($i=0;$i<4;$i++){
$num.=dechex(rand(0,15));
}
$num=substr($num,-4,4);
$_SESSION['captcha'] = $num; // 把驗證碼寫入session
$nowimage=imagecreate(100,30);
imagecolorallocate($nowimage,240,240,240);
for($i=0;$i<strlen($num);$i++){
$font=mt_rand(3,5);
$x=mt_rand(1,8)+100*$i/4;
$y=mt_rand(1,50/4);
$color=imagecolorallocate($nowimage,rand(0,150),rand(0,150),rand(0,150));
imagestring($nowimage,$font,$x,$y,$num[$i],$color);
}
for($i=0;$i<200;$i++){
$randcolor=imagecolorallocate($nowimage,rand(200,255),rand(200,255),rand(200,255));
imagesetpixel($nowimage,rand()%70,rand()%20,$randcolor);
}
header("content-type:image/png");
imagepng($nowimage);
imagedestroy($nowimage);
?>
加了兩句
session_start();
$_SESSION['captcha'] = $num;驗證頁面
session_start();
if($captcha == $_SESSION['captcha']){ // $captcha為用戶提交的驗證碼
// pass
}else{
// not match
}
但是在index.php 页面接受的$_SESSION['captcha']的数据和验证码显示出来的数据不同步(慢了一步)
所以 zf 采用了保存验证码图片的方案
前几天才在这里讨论过,你可找一下