не могу понять эхо-текст, если сессия auth = 1, иначе эхо-текст - PullRequest
2 голосов
/ 18 марта 2012

Я впервые работаю с сессиями, я работаю над областью пользователей, которую мне удалось создать, но мне нужно, чтобы некоторые пользователи (администраторы) могли видеть некоторые ссылки, которые обычные пользователи не могут. это то, что у меня есть софар: s

   <?php
require_once('auth.php');
    ?>
    <table border='0' cellpadding='0' cellspacing='0' id='memberstitle'>
    <tr>
        <td background='images/box2_l.png' width='20' height='50'></td>
        <td background='images/box2_m.png' height='50'>Welcome <?php echo $_SESSION['SESS_FIRST_NAME'];?>
            <table border='0' cellpadding='2' cellspacing='0' id='newsavatar'>
            <?php

        if(!isset($_SESSION['SESS_AUTH'] == '1') {
    echo '<tr>
                <td><a href='?p=post'>Post News</a> | <a href="">Post Screenshot</a> | <a href="">View Player List</a></td>
                <td rowspan='2' style='vertical-align:middle' width='34' height='34'><img src='images/<?php echo $_SESSION['SESS_AVATAR'];?>'></td>
            </tr>
            <tr>
                <td><a href="?p=logout">Logout</a> | <a href="">Change Password</a> | <a href="">Change Avatar</a></td>
            </tr>';
            }
            else {
            echo'<tr>
                <td>Control Panel</td>
                <td rowspan='2' style='vertical-align:middle' width='34' height='34'><img src='images/<?php echo $_SESSION['SESS_AVATAR'];?>'></td>
            </tr>
            <tr>
                <td><a href="?p=logout">Logout</a> | <a href="">Change Password</a> | <a href="">Change Avatar</a></td>
            </tr>';
            }

        ?>
        </table>

        </td>
        <td background='images/box2_r.png' width='20' height='50'></td>
    </tr>
    </table>

Ответы [ 2 ]

0 голосов
/ 18 марта 2012

Вы начали сеанс в начале файла?

Но даже если вы это сделали, в вашем коде есть еще пара ошибок:

Значение if должно быть примерно таким:

    if(isset($_SESSION['SESS_AUTH']) && $_SESSION['SESS_AUTH'] == '1') {

И ваше эхо'синтаксис также совершенно неправильный:

  • Если вы используете', чтобы начать текст, который вы хотите написать, вы не можете использовать его в этом тексте без escape-символа.Таким образом, значения html-атрибутов должны быть \'value\' или "value" вместо простых 'value'.
  • Вы не можете использовать <?php ?> внутри echo.Вместо этого попробуйте конкатенацию строк.

Например:

echo '<tr>
            <td><a href="?p=post">Post News</a> | <a href="">Post Screenshot</a> | <a href="">View Player List</a></td>
            <td rowspan="2" style="vertical-align:middle" width="34" height="34"><img src="images/' + $_SESSION['SESS_AVATAR'] + '"></td>
        </tr>
        <tr>
            <td><a href="?p=logout">Logout</a> | <a href="">Change Password</a> | <a href="">Change Avatar</a></td>
        </tr>';
0 голосов
/ 18 марта 2012

Каждый раз, когда вы используете $ _SESSION, вам нужно начать сеанс с session_start(). Вы сделали это в какой-то момент? После этого проверьте, что у вас внутри переменной $_SESSION с помощью var_dump:

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