欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

session验证码有关问题,刷新验证码,session的值不变,求高人解答

程序员文章站 2024-02-09 09:09:58
...
session验证码问题,刷新验证码,session的值不变,求高人解答
本帖最后由 yieri_z 于 2013-01-14 11:18:32 编辑 php做验证码程序,原本好使,换服务器后,验证码再刷新,验证码变了,但是session还是第一次初始的值,怀疑是服务器的问题,有高人知道怎么回事吗?


验证码代码checkimage.php页如下:
Header("Content-type: image/gif");

$border = 0; //是否要边框 1要:0不要
$how = 4; //验证码位数
$w = $how*15; //图片宽度
$h = 25; //图片高度
$fontsize = 5; //字体大小
$alpha = "ABCDEFGHIJKLMNPQRSTUVWXYZ"; //验证码内容1:字母
$number = "123456789"; //验证码内容2:数字
$randcode = ""; //验证码字符串初始化
srand((double)microtime()*1000000); //初始化随机数种子

$im = ImageCreate($w, $h); //创建验证图片

$bgcolor = ImageColorAllocate($im, 255, 255, 255); //设置背景颜色
ImageFill($im, 0, 0, $bgcolor); //填充背景色
if($border)
{
$black = ImageColorAllocate($im, 0, 0, 0); //设置边框颜色
ImageRectangle($im, 0, 0, $w-1, $h-1, $black);//绘制边框
}

for($i=0; $i{
$alpha_or_number = mt_rand(0, 1); //字母还是数字
$str = $alpha_or_number ? $alpha : $number;
$which = mt_rand(0, strlen($str)-1); //取哪个字符
$code = substr($str, $which, 1); //取字符
$j = !$i ? 4 : $j+15; //绘字符位置
$color3 = ImageColorAllocate($im, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100)); //字符随即颜色
ImageChar($im, $fontsize, $j, 3, $code, $color3); //绘字符
$randcode .= $code; //逐位加入验证码字符串
}

for($i=0; $i{
$color2 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干扰点颜色
ImageSetPixel($im, mt_rand(0,$w), mt_rand(0,$h), $color2); //干扰点
}

//把验证码字符串写入session
session_start();
$_SESSION['randcode'] = $randcode;

/*绘图结束*/
Imagegif($im);
ImageDestroy($im);
/*绘图结束*/


注册页reg.html调用代码:
验证码 

session验证码有关问题,刷新验证码,session的值不变,求高人解答
看不清?换一组


php接收后的页面:
header("content-type: text/html; charset=utf-8");
session_start();

echo "验证码session的值:".$_SESSION["randcode"];
echo "
";
echo "验证码提交的值:".$reg_checkcode;


刚运行reg.html页时,比如验证码是“A67E”,点击“看不清?换一组”后,验证码改变,但是$_SESSION['randcode']的值还是“A67E”,无论我点击几回“看不清?换一组”,都是验证码图片改了,但是session的值都是初始值不改变,这是什么问题?求高人帮下忙。
session 验证码
------解决方案--------------------
单步调试,没啥好办法。

检查session目录是否可写,硬盘空间是否不够之类的。
------解决方案--------------------
設置一下你的php.ini的error_report和display_error,讓他報出所有的錯誤來.
------解决方案--------------------
session验证码有关问题,刷新验证码,session的值不变,求高人解答

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • session验证码有关问题,刷新验证码,session的值不变,求高人解答
  • 专题推荐

    作者信息
    session验证码有关问题,刷新验证码,session的值不变,求高人解答

    认证0级讲师

    推荐视频教程
  • session验证码有关问题,刷新验证码,session的值不变,求高人解答javascript初级视频教程
  • session验证码有关问题,刷新验证码,session的值不变,求高人解答jquery 基础视频教程
  • 视频教程分类

    上一篇: 如何在PHP中开启GD库支持

    下一篇: