内image.php创建会话我想创建一个简单的验证码验证形式,它看起来像这样:不能在笨
<form>
<br/>Captcha :<img class="captcha" src="<?php echo base_url('application/views/captcha/image.php')?>">
<br/><br/><input type="username" required class="i" name="captcha" id="i7" size="25"/>
<br><br><input type="submit" name="Submit" id="submit" value="Register"/>
</form>
这里的image.php文件:
<?php
session_start();
header("Content-Type: image/png");
$text = rand(1000,100000);
$_SESSION['code'] = $text;
$img = imagecreatefromjpeg("bg.jpg");
$font = "arial.ttf";
$R = rand(0,100);
$G = rand(0,100);
$B = rand(0,100);
$TxtColor = imagecolorallocate($img,$R,$G,$B);
imagettftext($img,rand(40,45),rand(0,1),rand(10,70),rand(38,50),$TxtColor,$font$text);
imagepng($img);
imagedestroy($img);
?>
它在Codeigniter之外很好地工作。在Codeigniter中,无论何时我尝试从会话中检索$text
的值,我都会将错误消息显示为“未定义的索引:代码”。如果我用笨的方法userdata()
如下:
$this->session->set_userdata($text);
验证码图片甚至不显示。
我不认为这是加载image.php的正确方法,你必须为图像创建一个控制器 –