会话进入功能,没有设置

问题描述:

我有一个索引页面,在那里我可以发送用户到另一个网址,用户可以在这里发表评论,当他评论时,他发送到insert_comment.php,如果一切都成功了,这被设置:会话进入功能,没有设置

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

如果我赞同它之后,它集所有的罚款

现在我重新将用户引导到同一个URL

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

这个网址调用该函数

<?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

,我去做了,你开始会话之前

+0

您是否尝试过的会话的短文章回补基本知识从'fetch_for_inside'中删除第二个'session_start();'? – 2013-03-10 03:28:02

+0

我有,不起作用 – 2013-03-10 03:29:18

+0

但它得到它两次,因为它重新加载相同的页面,这可能是问题吗? – 2013-03-10 03:30:02

变量$ _SESSION未设置功能里面,所以请确保调用

<?php session_start() ?> 

在调用fetch_for_inside($ _ SESSION ['succe SS'])。

有一个在PHP here

也是一个伟大的方式来跟踪你的脚本的怪异行为是使用的PHP IDE与调试器,像NetBeans与Xdebug的

+0

我是否必须在开始会话之前设置它? isnt it start_session();然后$变量= $ _SESSION(['东西']) – 2013-03-10 03:35:01