我有这个:
captcha.php
<?php
session_start();
$code=rand(1000,9999);
$_SESSION["code"]=$code;
$im = imagecreatetruecolor(50, 24);
$bg = imagecolorallocate($im, 22, 86, 165);
$fg = imagecolorallocate($im, 255, 255, 255);
imagefill($im, 0, 0, $bg);
imagestring($im, 5, 5, 5, $code, $fg);
header("Cache-Control: no-cache, must-revalidate");
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
然后我在其他php文件中调用它:
<img src="captcha.php"/>
但会话未保存......
thansk为你们提供帮助!
答案 0 :(得分:3)
要使用PHP启动会话,session_start()
必须是输出任何HTML之前的第一件事:
<?php
session_start();
来自PHP.net:
Note:要使用基于cookie的会话,必须调用session_start() 在向浏览器输出任何内容之前。
由于您将其作为图片包含在内,因此session_start()
在您的输出中不会出现得足够早。你需要确保它是第一件事;我不确定wordpress如何处理它自己,也许是wordpress论坛的问题。 Here is a post我发现了这个问题。