2015-10-18 78 views
-2

我在我的項目中有幾個菜單。現在我想添加另一個菜單UserMenu [用戶菜單標題將被登錄用戶名替換],以及一些子菜單,如:查看配置文件,編輯配置文件和註銷。如何使用PHP在HTML中創建登錄依賴菜單?

這意味着我要保留這個菜單隱藏,直到登錄的用戶。誰不登錄會顯示所有菜單的除了userMenu的和用戶將顯示每個菜單的包括用戶名菜單的用戶。

我的邏輯是:當用戶登錄時選擇user_id並將user_id存儲爲PHP會話varialble。當PHP會話變量的值比UserMenu將可見時隱藏。

但問題是,我使用jQuery進行登錄表單驗證,並且我認爲使用jQuery或JavaScript設置PHP會話變量是不可能的。

任何人都可以請告訴我如何實現基於使用PHP登錄動態菜單?歡迎一個更好的主意。
- 感謝

回答

1

將用戶登錄後,嘗試使用Ajax請求得到PHP菜單:

get_usermenu.php:

<?php 
//Show only if user id exists 
if(isset($_SESSION["user_id"])) 
{ 
    echo "Menu content goes here..."; 
} 
?> 

的Jquery:

$.ajax({url: "get_usermenu.php", success: function(result){ 
    $("#usermenu").html(result); 
}}); 
1

在任何情況下都不要通過jQuery驗證!客戶端驗證很容易被黑客入侵。確保你通過PHP進行驗證。

正如@Manikiran所說,使用if(isset($value))檢查是一種爲用戶加載某些東西的方法。

我的建議是使用jQuery的AJAX函數向服務器代碼發送請求,驗證它,然後在PHP文件中使用echo json_encode($value)返回代碼。

對於無法在JavaScript中使用PHP會話,您也是正確的。在將代碼發送給用戶之前,PHP會話由服務器處理。即使JavaScript可以驗證PHP會話,也不希望將服務器信息放在瀏覽器和客戶端的手中。

希望這可以幫助你發掘你和未來的Google員工。

相關問題