0

我有一个索引页面,我可以将用户发送到另一个 url,用户可以在这里发表评论,当他发表评论时,他被发送到 insert_comment.php,如果一切都成功,则设置为:

 $success = "Your comment has been added";
 $_SESSION['success'] = $success;

如果我之后回显它,它的设置和一切都很好

现在我将用户重定向到相同的 URL

header("Location: http://mydomain.com/post/?post=". $url_from); // send back

这个 url 调用这个函数

<?php 
fetch_for_inside($_SESSION['success']); // I pass the success session to the function
unset($_SESSION['success']); // unset
?>

从函数内重新创建所有其他内容,然后我在函数内拥有它

if (isset($success_session)) {

   echo '
             <div class="info">
               '. $success_session .'
              </div>
        ';
};

这是在函数内,并且函数确实得到了

 function fetch_for_inside($success_session)

作为参数,但变量为空?

我愿意

<?php session_start() ?> 

http://mydomain.com/post/?post= "。$url_from

我在函数内部做

4

1 回答 1

1

在开始会话之前未设置变量 $_SESSION。所以一定要打电话

<?php session_start() ?>

在调用 fetch_for_inside($_SESSION['success']) 之前一次。

这里有一篇简短的文章,介绍了 PHP 会话的基础知识

跟踪脚本怪异行为的一个好方法是使用带有调试器的 PHP IDE,例如带有 Xdebug的NetBeans

于 2013-03-10T03:31:25.560 回答