Как получить все, кроме продления учетной записи для системного администратора - PullRequest
0 голосов
/ 16 ноября 2018

Пожалуйста, я новичок в 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');

}
?>

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Что вы можете сделать, это сначала проверить, установлен ли сеанс администратора пользователя, к которому я добавил то же условное значение в первом условном выражении.

Если оно установлено, тогда присвойте пустое значение тому, что я назвал $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>
                ';      
    }

}
0 голосов
/ 16 ноября 2018

Попробуйте ..

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

Таким образом, если установлена ​​переменная сеанса для администратора, эхо не произойдет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...