php页面之间无法取得SESSION中的值

<?php/***此文件主要是用于生成验证码**此文件中主要是产生图片状态的验证码,*同时将验证码信息存入session中**@copyright钱袋网(北京)科技信息有... <?php
/**
* 此文件主要是用于生成验证码
*
* 此文件中主要是产生图片状态的验证码,
* 同时将验证码信息存入session中
*
* @copyright 钱袋网(北京)科技信息有限公司
* @author wanglihui
* @package
*/

/**开启session*/
session_start();
header("content-type:image/png");
$image_width=70; //定义画布宽度
$image_height=20; //定义画布高度
srand(microtime()*100000); //设置随机因子
$codeNumber="";
for($i=0;$i<4;$i++)
{
$codeNumber.=dechex(rand(0,15)); //取得四个随机数子
}
$_SESSION['checkCode']=$codeNumber; //将随机数存入session中

//画图形
$codeImage=imagecreate($image_width,$image_height); //建立画布
imagecolorallocate($codeImage,0,0,0); //设置画布前景色
for($i=0;$i<strlen($_SESSION['checkCode']);$i++)
{
$font=mt_rand(3,5);
$x=mt_rand(1,8)+$image_width*$i/4; //X坐标
$y=mt_rand(1,$image_height/4); //Y坐标
$color=imagecolorallocate($codeImage,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));
imagestring($codeImage,$font,$x,$y,$_SESSION['checkCode'][$i],$color);
}
imagepng($codeImage);
imagedestroy($codeImage);
展开
 我来答
majiguang
2011-11-23 · TA获得超过757个赞
知道小有建树答主
回答量:1024
采纳率:0%
帮助的人:1351万
展开全部
session只能在一个浏览器进程里才能跨页面传递,一般验证码之类的调用都是用js的src属性来调用。不能跨进程共享SESSION
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
moon8152001
2011-11-23
知道答主
回答量:24
采纳率:0%
帮助的人:7.5万
展开全部
你可以在表格中插入一个框架,在框架里调用这个生成图片的php文件并给session赋值,然后在提交数据后,得到session值,与上一页表单传来的值比较 。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
时光无痕OI
2011-11-23
知道答主
回答量:14
采纳率:0%
帮助的人:4.7万
展开全部
接受值的这边也用session_start
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
alei817927
2011-11-23 · TA获得超过125个赞
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:98.4万
展开全部
程序本身没啥问题,看看运行时有没有输出,note或者warn输出也算,如果有需要屏蔽掉
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式