PHP无法生成验证码图像

时间:2018-01-02 13:07:54

标签: php apache xampp captcha

我正在使用PHP创建一个插入Captcha Words的基本表单。

以下是表格:

<form class="login" method="POST" action="">
    <p class="title">Are you human?</p>
    <div id="captchaimage">
       <img src="generate.php">
    </div>
    <input type="text" name="scr" size="6" placeholder="Write what you see here" autofocus/>
    <a href="http://zite.pouyavagefi.com/helpcenter.php">Can not read the code?</a>
    <input class="submititon" type="submit" value="Submit" name="submit"></input>
</form>

而且generate.php是这样的:

<?php 
session_start();
header('Content-type: image/jpeg');

$text = $_SESSION['scr'];
$font_size = 26;
$image_width = 100;
$image_height = 40;

$image = imagecreate($image_width, $image_height);
imagecolorallocate($image,255,255,255);
$text_color = imagecolorallocate($image,0,0,0);

for($x=1;$x<=30;$x++){
    $x1 = rand(1, 100);
    $y1 = rand(1, 100);
    $x2 = rand(1, 100);
    $y2 = rand(1, 100);

    imageline($image, $x1, $y1 ,$x2 ,$y2, $text_color);
}

imagettftext($image, $font_size, 0, 15, 30, $text_color, 'font.ttf', $text);
imagejpeg($image);
?>

font.ttf文件也正确放置在同一目录中。但我不知道为什么图像显示如下:print screen

请注意,我刚刚在我的计算机上安装了新版本的XAMPP。我想知道是否有任何需要打开的设置或功能,我尚未开启?!

1 个答案:

答案 0 :(得分:0)

$text = $_SESSION['scr'];

试图从会话中获取scr。检查它的值是否先前设置了?