php - 基于登录状态的条件显示链接 PHP

标签 php mysql authentication

我有一个有 200 名成员(member)的小网站。下面是登录/注销链接的代码,登录时显示“更改密码”、“报告”和“注销”链接。未登录时,会显示“登录”和“忘记密码”链接。

最近我们举办了一场比赛,有 14 名获胜者,我想要实现的目标是将一个链接放入代码中,只有 14 名获胜者才能看到,而其余成员则看不到。

我不太确定从哪里开始,是否可以在此代码中为 14 个用户 ID/电子邮件地址添加一个条件,或者我最好在用户数据库中添加一个新字段?任何帮助或插入正确的方向将不胜感激!

     <?php # loginnav.php> 

     // Display links based upon the login status. 

     // Show LOGIN links if this is the LOGOUT page. 

      if (isset($_SESSION['user_id']) 
      AND (substr($_SERVER['PHP_SELF'], -10) 
      !='logout.php')) 

      { echo 
      '<li><a href="logout.php">Logout</a></li>
       <li><a href="change_password.php">Change Password</a></li> 
       <li><a href="report.php">Report</a></li>  
     '; } else { 

     // Not logged in.   
     echo 
     ' <li><a href="login.php">Login</a></li> 
     <li><a href="forgot_password.php">Forgot Password?</a></li> 
      '; } ?>

最佳答案

     $winners_array = array('userid1', 'userid2', 'userid3', 'userid4', ...);  
          // This array contains users IDs who are winners
          // You can write it manualy right intj the login file, 
          //include it from external file or form from your Data Base

    if (isset($_SESSION['user_id']) 
      AND (substr($_SERVER['PHP_SELF'], -10) 
      !='logout.php')) 
      { 
      echo 
      '<li><a href="logout.php">Logout</a></li>
       <li><a href="change_password.php">Change Password</a></li> 
       <li><a href="report.php">Report</a></li>  
      '; 
      if(in_array($_SESSION['user_id'], $winners_array)){
         // If current ID is in winners list we add special link for him
         echo '<li><a href="winer_page.php">Winner link</a></li>';
      }
      } else { 
     // Not logged in.   
     echo 
     ' <li><a href="login.php">Login</a></li> 
     <li><a href="forgot_password.php">Forgot Password?</a></li> 
      '; } ?>

关于php - 基于登录状态的条件显示链接 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10508838/

相关文章:

amazon-web-services - AWS MSK 用户/密码认证/授权

php - 使用 session 错误登录

php - 获取 jQuery post 调用的 PHP 脚本的进度

php - laravel 如何找到模型与其在数据库中的表之间的连接

php - Codeigniter 查询 count() 连接三个表的评论总数

php - if isset语句与javascript?

php - 从 MySql 填充选项选择菜单

python - 使用Python备份MySQL数据库

php - 即使缺少一行也能获取所有主要结果

c# - 使用 Identity 2.0 在 MVC 应用程序和 WCF 服务之间传递身份验证