如何为系统管理员检索除续订帐户以外的所有帐户

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何为系统管理员检索除续订帐户以外的所有帐户相关的知识,希望对你有一定的参考价值。

拜托,我是php的新手,我正在建立一个基于订阅的电子商务网站。我已经能够根据浏览者的内容自定义页面,使它们看起来不同,但我想将管理页面上的续订帐户取消,因为他们不需要订阅。

我整天都在苦苦挣扎。拜托,有人能告诉我它是如何实现的吗?以下是片段:

<?php // Show the user info or the login form:
 if (isset($_SESSION['user_id'])) {

    // Show basic user options:
    echo '<div class="title">
                <h4>Manage Your Account</h4>
            </div>
            <ul>
            <li><a href="renew.php" title="Renew Your Account">Renew Account</a></li>
            <li><a href="change_password.php" title="Change Your Password">Change Password</a></li>
            <li><a href="favorites.php" title="View Your Favorite Pages">Favorites</a></li>
            <li><a href="history.php" title="View Your History">History</a></li>
            <li><a href="recommendations.php" title="View Your Recommendations">Recommendations</a></li>
            <li><a href="logout.php" title="Logout">Logout</a></li>
            </ul>
            ';

    // Show admin options, if appropriate:
    if (isset($_SESSION['user_admin'])) {
        echo '<div class="title">
                    <h4>Administration</h4>
                </div>
                <ul>
                <li><a href="add_page.php" title="Add a Page">Add Page</a></li>
                <li><a href="add_pdf.php" title="Add a PDF">Add PDF</a></li>
                <li><a href="#" title="Blah">Blah</a></li>
                </ul>
                ';      
    }

} else { // Show the login form:

    require ('login_form.inc.php');

}
?>
答案

您可以做的是首先检查用户管理会话是否已设置,我在第一个条件语句中添加了相同的条件值。

如果已设置,则为我命名为$renew的值分配一个空值,其中else{}的值为我从现有的<li></li>中删除的值。

这里的前两个会话数组当然只是代表值。

我在菜单中连接了'.$renew.'变量。

注意:确保使用会话在所有页面内使用session_start()启动会话;那是未知的。

$_SESSION['user_id'] = 123;
$_SESSION['user_admin'] = "john";

if (isset($_SESSION['user_admin'])) {

$renew = '';

} else {

$renew = '<li><a href="renew.php" title="Renew Your Account">Renew Account</a></li>';

}


if (isset($_SESSION['user_id'])) {

    // Show basic user options:
    echo '<div class="title">
                <h4>Manage Your Account</h4>
            </div>
            <ul>
            '.$renew.'
            <li><a href="change_password.php" title="Change Your Password">Change Password</a></li>
            <li><a href="favorites.php" title="View Your Favorite Pages">Favorites</a></li>
            <li><a href="history.php" title="View Your History">History</a></li>
            <li><a href="recommendations.php" title="View Your Recommendations">Recommendations</a></li>
            <li><a href="logout.php" title="Logout">Logout</a></li>
            </ul>
            ';

    // Show admin options, if appropriate:
    if (isset($_SESSION['user_admin'])) {
        echo '<div class="title">
                    <h4>Administration</h4>
                </div>
                <ul>
                <li><a href="add_page.php" title="Add a Page">Add Page</a></li>
                <li><a href="add_pdf.php" title="Add a PDF">Add PDF</a></li>
                <li><a href="#" title="Blah">Blah</a></li>
                </ul>
                ';      
    }

}
另一答案

尝试..

If(!isset($_SESSION['user_admin'])) {echo '<li><a href="renew.php" title="Renew Your Account">Renew Account</a></li>'; }

这样,如果设置了admin的会话变量,则不会发生回声。

以上是关于如何为系统管理员检索除续订帐户以外的所有帐户的主要内容,如果未能解决你的问题,请参考以下文章

如何为 API 凭据设置/取消设置多个帐户

如何为没有附加外部通信方法的帐户创建密码重设系统?

iOS 应用内购买自动续订订阅管理

我可以将自动续订订阅链接到应用帐户吗?

如何为 Github 帐户和 Bitbucket 公司帐户添加多个 SSH 密钥

如何为两个不同的帐户使用cmd命令[重复]