PHP做验证码无法显示图片 图片为X

<?phpsession_start();for($i=0;$i<4;$i++){$LL.=dechex(mt_rand(0,15));$_SESSION['code']... <?php
session_start();
for ($i=0;$i<4;$i++){
$LL.=dechex(mt_rand(0,15));
$_SESSION['code']=$LL;
$_width =75;
$_height=20;

$_img=imagecreatetruecolor($_width,$_height);

$_white=imagecolorallocate($_img,255,255,255);

imagefill($_img,0,0,$_white);

$_black=imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
imagerectangle($_img,0,0,$_width,$_height,$_black);

for($i=0;$i<6;$i++){
$_rnd_color=imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
imageline($_img,mt_rand(0,$_width), mt_rand(0,$_height),mt_rand(0,$_width), mt_rand(0,$_height), $_rnd_color);
}

header('content-Type:image/png');
imagepng($_img);

imagedestroy($_img);

?>
展开
 我来答
LatrellChan
2015-10-29 · 知道合伙人软件行家
LatrellChan
知道合伙人软件行家
采纳数:74 获赞数:142
毕业于厦门理工大学计算机信息管理专业,互联网行业五年从业经验。

向TA提问 私信TA
展开全部

两个错误:

  1. $LL 变量没有提前声明。

  2. 最外层的for循环没有与之匹配的右花括号。


修改后的代码:

session_start();
$LL 橡樱早= ''; // 变量要提前声明,并赋初始值。
for ($i = 0; $i < 4; $i ++) {
$LL .= dechex(mt_rand(0, 15));
$_SESSION['code'] = $LL;
$_width = 颂袭75;
$_height = 20;

$_img = imagecreatetruecolor($_width, $_height);

$_white = imagecolorallocate($_img, 255, 255, 255);

imagefill($_img, 0, 0, $_white);

$_black = imagecolorallocate($_img, mt_rand(0, 255), 梁雀mt_rand(0, 255), mt_rand(0, 255));
imagerectangle($_img, 0, 0, $_width, $_height, $_black);

for ($i = 0; $i < 6; $i ++) {
$_rnd_color = imagecolorallocate($_img, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
imageline($_img, mt_rand(0, $_width), mt_rand(0, $_height), mt_rand(0, $_width), mt_rand(0, $_height), $_rnd_color);
}
} // 缺少了最外层for循环对应的右花括号。
header('content-Type:image/png');
imagepng($_img);

imagedestroy($_img);
更多追问追答
追问
谢谢提醒啊。但是$LL.=dechex(mt_rand(0,15)); 也是声明啊,我自己重新弄了下 原来是IE浏览器设置问题。。。
追答
$LL .= dechex(mt_rand(0,15));


$LL = $LL . dechex(mt_rand(0,15));

等价。

那么所以,该操作之前,还是需要对$LL变量进行初始化的。

zhengguo86
2015-10-29 · TA获得超过246个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:163万
展开全部
开启了GD扩展吗
追问
换个浏览器就行了 设置的问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式