【问题标题】:How to show/hide content based on user type in PHP?如何在 PHP 中根据用户类型显示/隐藏内容?
【发布时间】:2012-05-21 05:35:01
【问题描述】:

我有一个会员网站,用户的会员级别在登录时识别 (PRO=1, ELITE=2, PLATINUM=3, DIAMOND=4),使用 mysql。有许多产品出售,包括会员资格。我需要隐藏他们的会员身份作为订单选项。所以我需要根据他们的会员级别,用一些 php 代码和 if 语句将 div 括起来。

这是基本的html:

    <div><a href='#'>Order PRO Membership</a></div>
    <div><a href='#'>Order ELITE Membership</a></div>
    <div><a href='#'>Order PLATINUM Membership</a></div>
    <div><a href='#'>Order DIAMOND Membership</a></div>

如果我是 ELITE 会员,我应该看到的唯一订单选项是 PLATINUM 和 DIAMOND。

非常感谢您的帮助。

【问题讨论】:

  • 您是否将会员级别存储在$_SESSION
  • 说真的....请先学习php...因为做这种事情可能是最基本的php。
  • 是的,我正在使用 $_SESSION

标签: php mysql


【解决方案1】:

我会这样做:

<?php
$member = $_SESSION['member'];

if($member == 1) {
    echo "<div><a href='#'>Order ELITE Membership</a></div>
    <div><a href='#'>Order PLATINUM Membership</a></div>
    <div><a href='#'>Order DIAMOND Membership</a></div>";
} elseif($member == 2) {
    echo "<div><a href='#'>Order PLATINUM Membership</a></div>
    <div><a href='#'>Order DIAMOND Membership</a></div>";
} elseif($member == 3) {
    echo "<div><a href='#'>Order DIAMOND Membership</a></div>";
}

?>

我可以证明这是可行的,如果我这样做 $member = 3; http://meowman.sytes.net/so/memberif/member3.phphttp://meowman.sytes.net/so/memberif/member3.txt

【讨论】:

    【解决方案2】:

    在不知道“如何”存储会员资格的情况下 - 这应该会给你一个粗略的想法

    <?php if ($_SESSION['user_level_status'] < 2) {
    
    <div><a href='#'>Order PRO Membership</a></div>
    <div><a href='#'>Order ELITE Membership</a></div>
    
    <php } ?>
    
    <div><a href='#'>Order PLATINUM Membership</a></div>
    <div><a href='#'>Order DIAMOND Membership</a></div>
    

    你可以从这里扩展它——但是这个逻辑会引导你朝着正确的方向前进

    【讨论】:

      【解决方案3】:

      我建议使用这样的开关功能:

      <?php
      $rank1 = mysql_query("SELET FROM tblname WHERE column='" . mysql_real_escape_string($_SESSION['Username']) . "'");
      $rank = mysql_result($rank1, 0, 'rank');
      
      switch ($rank)
      {
      case 3:
        echo "<div><a href='#'>Order DIAMOND Membership</a></div>";
        break;
      
      case 2:
        echo "<div><a href='#'>Order PLATINUM Membership</a></div>
          <div><a href='#'>Order DIAMOND Membership</a></div>";
        break;
      
      case 1:
        echo "<div><a href='#'>Order ELITE Membership</a></div>
          <div><a href='#'>Order PLATINUM Membership</a></div>
          <div><a href='#'>Order DIAMOND Membership</a></div>";
        break;
      
      default:
        echo "<div><a href='#'>Order PRO Membership</a></div>
          <div><a href='#'>Order ELITE Membership</a></div>
          <div><a href='#'>Order PLATINUM Membership</a></div>
          <div><a href='#'>Order DIAMOND Membership</a></div>";
      }
      
      ?>
      

      【讨论】:

      • 不是一段好代码。它应该看起来像案例 1:echo ELITE;案例2:回显白金;案例3:回声钻石;
      猜你喜欢
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 2019-05-17
      • 2011-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      相关资源
      最近更新 更多