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


How to create login depended menu in HTML using PHP?

我在我的项目中有几个菜单。现在我想添加另一个菜单UserMenu [UserMenu标题将由登录用户名替换],与一些子菜单,如:查看配置文件,编辑配置文件和注销。

这意味着我想保持这个菜单隐藏,直到用户登录。不登录的用户将显示除UserMenu之外的所有菜单,用户将显示包括UserName菜单在内的所有菜单。

我的逻辑是:在用户登录时选择user_id并将user_id存储为PHP会话变量。当PHP会话变量的值大于时,UserMenu将可见,否则隐藏。

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

有没有人能告诉我如何使用PHP实现基于登录的动态菜单?欢迎有更好的主意。
——谢谢

登录用户后,尝试使用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);
}});

在任何情况下都不要通过jQuery进行验证!客户端验证很容易被攻击。请确保通过PHP进行验证。

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

我的建议是使用jQuery的AJAX函数向服务器代码发送请求,验证它,然后使用PHP文件中的echo json_encode($value)返回代码。

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

希望这对你和未来的谷歌人有所帮助。