2015-10-18 64 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员工。