Javascript 如何使用PHP在HTML中创建依赖登录的菜单?

Javascript 如何使用PHP在HTML中创建依赖登录的菜单?,javascript,php,jquery,html,css,Javascript,Php,Jquery,Html,Css,我的项目中有几个菜单。现在我想添加另一个菜单UserMenu[UserMenu title将替换为login user name],以及一些子菜单,如:查看配置文件、编辑配置文件和注销 这意味着我希望在用户登录之前隐藏此菜单。未登录的用户将显示除UserMenu之外的所有菜单,并且用户将显示包括UserName菜单在内的所有菜单 我的逻辑是:当用户登录时选择用户id,并将用户id存储为PHP会话变量。当PHP会话变量有一个值时,UserMenu将可见或隐藏 但问题是,我使用jQuery进行登录表

我的项目中有几个菜单。现在我想添加另一个菜单UserMenu[UserMenu title将替换为login user name],以及一些子菜单,如:查看配置文件、编辑配置文件和注销

这意味着我希望在用户登录之前隐藏此菜单。未登录的用户将显示除UserMenu之外的所有菜单,并且用户将显示包括UserName菜单在内的所有菜单

我的逻辑是:当用户登录时选择用户id,并将用户id存储为PHP会话变量。当PHP会话变量有一个值时,UserMenu将可见或隐藏

但问题是,我使用jQuery进行登录表单验证,我认为不可能使用jQuery或JavaScript设置PHP会话变量

谁能告诉我如何使用PHP实现基于登录的动态菜单?欢迎提出更好的想法。

-谢谢

登录用户后,尝试使用ajax请求从php获取菜单:

get_usermenu.php:

<?php
//Show only if user id exists
if(isset($_SESSION["user_id"]))
{
    echo "Menu content goes here...";
}
?>
在任何情况下都不要通过jQuery进行验证!客户端验证很容易被黑客攻击。确保通过PHP进行验证

正如@Manikiran所说,使用
if(isset($value))
检查是为用户加载某些内容的一种方法

我的建议是使用jQuery函数向服务器代码发送请求,对其进行验证,然后使用PHP文件中的
echo json\u encode($value)
返回代码

关于不能在JavaScript中使用PHP会话,您也是正确的。PHP会话在代码发送给用户之前由服务器处理。即使JavaScript可以验证PHP会话,您也永远不会希望将服务器信息交给浏览器和客户端

希望这能帮助你和未来的谷歌人

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