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); 展开
/**
* 此文件主要是用于生成验证码
*
* 此文件中主要是产生图片状态的验证码,
* 同时将验证码信息存入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); 展开
4个回答
展开全部
session只能在一个浏览器进程里才能跨页面传递,一般验证码之类的调用都是用js的src属性来调用。不能跨进程共享SESSION
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以在表格中插入一个框架,在框架里调用这个生成图片的php文件并给session赋值,然后在提交数据后,得到session值,与上一页表单传来的值比较 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
接受值的这边也用session_start
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序本身没啥问题,看看运行时有没有输出,note或者warn输出也算,如果有需要屏蔽掉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询