【问题标题】:_SESSION Lost in wordpress_SESSION 迷失在 wordpress 中
【发布时间】:2014-01-17 19:43:18
【问题描述】:

我有这个:

验证码.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"/>

但会话没有保存...

谢谢你们的帮助!

【问题讨论】:

  • 其他脚本是否也调用session_start()

标签: php wordpress session


【解决方案1】:

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


<?php
session_start();  

来自 PHP.net:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-09
    相关资源
    最近更新 更多