【问题标题】:php restrict user contentphp限制用户内容
【发布时间】:2017-04-22 05:24:06
【问题描述】:

所以我正在尝试制作一个虚拟网站,只有标记为高级的会员才能看到某些内容。由于它是一个虚拟网站,因此区分的方式是在创建帐户时在复选框上选择是或否。但是,我无法弄清楚如何让整个网站检查以确保用户是高级会员而不是普通会员或访客。在注册页面本身,我想我可以使用 if 语句来最初标记它

if($user['premium'] == 1){
   $_SESSION['premium'] = true;
}

但是如果用户是高级会员,我将如何制作像 membersonly.php 这样的页面?我假设我必须使用一个函数或一个类,但我真的不知道我需要在里面做什么。

编辑 我想我解释得不够清楚,这并不奇怪,因为我是在凌晨 2 点发布的。我不想只是将普通用户和访客从membersonly.php 中重定向出去,我想要它,因此如果用户拥有高级帐户,则membersonly 页面的链接仅显示在导航栏上。这可以通过 if 语句来完成,还是我需要创建一个专门用于监控的函数或类?

【问题讨论】:

    标签: php restrictions


    【解决方案1】:

    您可以通过以下步骤轻松完成: 1.在按钮上点击发布事件首先检查用户是高级还是普通 2. 设置 if 条件,如果用户是高级用户,那么

    header('Location: ****.php'); 
    

    其他的php文件用同样的方法。

    注意:如果用户是高级用户或普通用户,则需要添加到数据库中。

    【讨论】:

      【解决方案2】:

      我假设您了解基本的 php,请按照会员页面上的以下步骤操作。

      1. 创建与数据库的连接。

      2. 从用户 ID 中获取用户(我想你已经使用了登录)。

      3. 如果用户不是高级用户,则检查用户是否高级的条件,然后将其重定向到主页。

        require_once('connection.php'); // Fetch user details. if($user['premium'] != 1){ header("location:index.php"); }

      【讨论】:

        【解决方案3】:

        在您的数据库表“is_premium”中添加一个标志列。保存后,如果用户是 溢价比在此标志中插入 1 否则为 0.Than 创建一个检查函数 如果登录用户是否是高级用户,并在每个开始时调用此函数 page.following 是检查溢价的功能的实现 用户。

         function checkPremium(){
         if($_SESSION['premium'] == true){
            return true;
         }else{
          header('Location:some_other_page.php');
         }
         }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-06-06
          • 1970-01-01
          • 2013-09-08
          • 1970-01-01
          • 2011-11-01
          • 2016-10-28
          • 2011-04-26
          • 1970-01-01
          相关资源
          最近更新 更多