2014-05-16 70 views
-3

我有大量需要訪問變量的頁面。當用戶輸入的ID插入accounts.php形式這個變量被分配一個值:會話變量在頁面之間丟失

account.php

<form action="afterlog.php" class="form" method="post"> 
    <input type="text" name="amid" id = "amid" class="input" /> 
    <input class="btn" type="submit" value="Go" />  
</form> 

到afterlog.php哪些職位值「之中」

afterlog.php

<?php 
session_start(); 
    if($_SERVER['REQUEST_METHOD']=='POST') 
    { 
    $_SESSION['account_manager_id']=$account_manager_id; 
    $account_manager_id = $_POST['amid']; 
    header('Location: customer_view.php'); 
    } 
?> 

它檢查POST,分配會話變量,並重定向RHE用戶customer_view.php

customer_view.php

我需要在這個頁面,畢竟網頁使用 '$ account_manager_id'。這裏是我如何分配給它的_SESSION變量的值:不舉行任何頁面,包括customer_view.php的

<?php 
session_start(); 
$_SESSION['account_manager_id']=$account_manager_id; 
?> 

卜值。我知道它傳遞給afterload.php是因爲它在該頁面上打印出來,但是它在該頁面之後不見了。

我做錯了什麼?

感謝您的幫助!

+2

沒有分配給value變量'$ account_manager_id'在你試圖把它放在我的時候nto你的會話。 **啓用正確的錯誤報告,NOW!** – CBroe

+0

1.在afterlog.php中,您正在爲$ _SESSION分配一個變量,然後實際設置該變量的值。 2.在customer_view.php中,您將覆蓋$ _SESSION中的值,並假設它是未初始化的變量。 – Sammitch

+0

和你在「分配」在customer_view腳本中的值是無稽之談,以及嘗試 - 你想要得到的值_out_會議,不_overwrite_與另一個現有會話值(這是當然的,再次未定義) 。 – CBroe

回答

4

您試圖$account_manager_id前值分配給$_SESSION['account_manager_id']中有任何價值。你只需要切換順序:

$_SESSION['account_manager_id']=$account_manager_id; 
$account_manager_id = $_POST['amid']; 

或者乾脆:在

$_SESSION['account_manager_id'] = $_POST['amid']; 
+0

需要什麼才能訪問第三頁上的「account_manager_id」?目前我有:$ _ SESSION ['account_manager_id'] = $ account_manager_id; – DataGuy

+0

'$ _SESSION ['account_manager_id']',就是你需要的_all_。 – CBroe

0

afterlog.php

<?php 
    if($_SERVER['REQUEST_METHOD']=='POST') 
    { 
    $account_manager_id = $_POST['amid'];  
    $_SESSION['account_manager_id']=$account_manager_id; 

    header('Location: customer_view.php'); 
    } 
?> 

<?php 
    if($_SERVER['REQUEST_METHOD']=='POST') 
    { 
    $_SESSION['account_manager_id']=$_POST['amid']; 
    header('Location: customer_view.php'); 
    } 
?> 
+0

感謝您的幫助。我認爲我的問題是,當Im再次使用它時,我如何引用變量,這是在像這樣的查詢中:「SELECT * FROM mgap_account_managers WHERE account_manager_id ='$ account_manager_id'」; – DataGuy

+0

左右$ SQL = 「SELECT * FROM mgap_account_managers WHERE account_manager_id =」 $ _ SESSION [ 'account_manager_id']。 – jolsalazar