2013-03-10 43 views
0

我有一個索引頁面,在那裏我可以發送用戶到另一個網址,用戶可以在這裏發表評論,當他評論時,他發送到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

回答

1

變量$ _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