_SESSION迷失在wordpress中

时间:2014-01-17 19:43:19

标签: php wordpress session

我有这个:

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为你们提供帮助!

1 个答案:

答案 0 :(得分:3)

要使用PHP启动会话,session_start()必须是输出任何HTML之前的第一件事:


<?php
session_start();  

来自PHP.net:

  

Note:要使用基于cookie的会话,必须调用session_start()   在向浏览器输出任何内容之前。

由于您将其作为图片包含在内,因此session_start()在您的输出中不会出现得足够早。你需要确保它是第一件事;我不确定wordpress如何处理它自己,也许是wordpress论坛的问题。 Here is a post我发现了这个问题。