我有一个有200名成员的小网站。以下是登录/注销链接的代码,在登录时显示“更改密码”,“报告”和“注销”链接。未登录时,将显示“登录”和“忘记密码”链接。
最近我们举办了一场有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>
'; } ?>
答案 0 :(得分:1)
您只需将获奖者的ID放在array
中,然后检查用户ID是否在该数组中以显示该链接。
$winners = array(1, 2, 3, 4, 5);
if (in_array($id, $winners))
{
echo "link";
}
答案 1 :(得分:1)
$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>
'; } ?>
答案 2 :(得分:0)
一个选项是添加用户ID的条件检查,如果它与您的ID列表匹配,请添加链接。这段代码的缺点是它是硬编码的,如果您计划在未来为某些成员设置更多竞赛或其他链接,则可能会成为维护问题。 (你最终会得到几个代码块)
首先将您的获胜者ID设置为数组,如下所示:
$winningIds = array(1,2,3,4,5,6,7,8,...);
然后在您打印链接的echo
块中执行以下操作:
if (in_array($_SESSION['user_id'], $winningIds))
{
echo '<li><a href="newlink.php">New Link</a></li> ';
}
编辑:我意识到我没有提到我正在考虑的其他选项,即存储一个“独特”的列表。每个用户的数据库中的链接。然后在echo块之后,为每个用户打印唯一链接。
我将此视为另外两张桌子。表1将是&#39;链接&#39;并将有三列 - id,link和display text。表2将是&#39; user_links&#39;并将包含两列 - linkId和userId。
您加入表并拥有链接(这是您的href
)并显示user_links表中关联的文本显示。