2014-12-02 93 views
2

我有一個帶有幾個按鈕的html頁面,我想帶我到另一個PHP頁面,這個頁面將處理所有的邏輯,但是我在設置會話時遇到了麻煩。PHP會話故障

我可能會這樣做的錯誤方式,所以我會很感激,如果有人指出我在正確的方向。

這是HTML網頁代碼,我的工作:

 <form action="reportPage.php"> 
      <center><input type="submit" value="View customers"></center> 
      <?php 
       $_SESSION['customer'] = "checkCusTrains"; 
      ?> 
     </form> 

     <form action="reportPage.php" mehtod="post"> 
     <center><input type="submit" value="View admins"></center> 
      <?php 
       $_SESSION['admins'] = "checkCusAdmin"; 
      ?> 
     </form> 

我想每個按鈕去reportUser.php頁,但使用不同的會話,因爲我有if/else語句在報告頁面中設置,將顯示與該會話相對應的信息。

我該如何做到這一點?既然這樣,這兩個會話變量被設置

+0

我不明白。最初,你說「我在設置會話時遇到麻煩」。然後在最下面,你會說「因爲它,兩個會話變量正在設置」? – EternalHour 2014-12-02 01:20:27

回答

2

我建議你使用查詢,但沒有會話來實現這一點:

<form action="reportPage.php?customer=checkCusTrains"> 
    <center><input type="submit" value="View customers"></center> 
</form> 

<form action="reportPage.php?admins=checkCusAdmin" mehtod="post"> 
    <center><input type="submit" value="View admins"></center> 
</form> 

而在你reportPage.php

<?php 
    if(!empty($_GET['customer']) && $_GET['customer'] == 'checkCusTrains'){ 
     //do something 
    } 

    if(!empty($_GET['admins']) && $_GET['admins'] == 'checkCusAdmin'){ 
     //do something else 
    } 
?> 
+0

管理得到它與上述工作,感謝您的幫助 – user2757842 2014-12-02 01:29:10

+0

很高興我能幫助,歡呼! – kyo 2014-12-02 01:35:34

1

包括在你的表單變量,你可以檢查服務器端:

<form action="reportPage.php" method="post"> 
    <input type="hidden" name="session" value="checkCusAdmin"> 
    <input type="submit" ...> 
</form> 

通過這種方式,每種形式可以促進其隱藏在特殊字段變量給用戶,但可用於服務器。它可以識別提交的數據形式或採取的行動。

就你而言,「隱藏」字段可能包含會話的名稱。

2

您需要添加在你的形式隱藏字段,將持有的價值你的會話,如果你的會話的價值已經被賦予像'checkCusTrains'和'checkCusAdmin',你不需要使用會話,只需將該值放在隱藏的輸入框中。

<form action="reportPage.php"> 
    <input type="hidden" name="session" value="checkCusTrains"> 
    <center><input type="submit" value="Check customers"></center> 
</form> 
<form action="reportPage.php"> 
    <input type="hidden" name="session" value="checkCusAdmin"> 
    <center><input type="submit" value="Check admins"></center> 
</form> 

而在你reportPage.php

你可以通過$_POST['session'];值,然後做你想做的,如果使用else語句,你有。

0

我建議您爲此使用查詢或使用jQuery cookie並將cookie集綁定到按鈕單擊操作。您發佈的代碼不符合您的想法。在該代碼中,這兩個cookie都是在頁面加載時設置的,也就是PHP設置cookie的時候。