我无法在验证码文件中提供$_Session
值。
这是我的验证码文件:
<?php
session_name('U');
session_start();
session_regenerate_id();
ini_set('session.cookie_httponly',true);
$string='';
for($i=0;$i<5;$i++){$string.=chr(rand(97,122));}
$_SESSION['img']=$string;
$fDir='includes/images/captcha_backgrounds/fonts/';
$fs=glob($fDir.'*.{ttf,otf}',GLOB_BRACE);
$RF=$fs[array_rand($fs)];
$imagesDir='includes/images/captcha_backgrounds/';
$images=glob($imagesDir.'*.{jpg}',GLOB_BRACE);
$randomImage=$images[array_rand($images)];
$image=imagecreatefromjpeg($randomImage);
$color=imagecolorallocate($image,rand(000,255),rand(000,255),rand(000,255));
imagettftext($image,40,0,20,70,$color,$RF,$_SESSION['img']);
header("Content-type:image/png");
imagepng($image);
?>
以下是我src
验证码的方式:
<img src="captcha.php"/>
当我将表单提交到另一个页面时,它会返回错误:
$ _ SESSION(&#34; img&#34;)未定义
我的验证码图像很好,但会话无法正常工作请帮助。
另外,我正在使用AJAX提交表单。
除会话外一切正常。
答案 0 :(得分:0)
谢谢@ Fred-ii-它的工作非常感谢您可以将其作为答案发布,以便我可以接受
此header("Content-type:image/png");
并且您在jpg
大括号中使用glob
。
header('Content-Type: image/jpeg');