2012-03-18 3 views
2

Это мой первый опыт работы с сессиями, которые я работаю над областью членов, которые мне удалось сделать, но мне нужны некоторые пользователи (админы), чтобы иметь возможность см. некоторые ссылки, которые обычные пользователи не могут. это то, что я есть ГНФАР: Scan not out out echo text if session auth = 1 else echo text2

<?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> 
+0

... и что происходит? Без чтения руководств PHP и т. Д., Я бы сказал! Isset ($ _ SESSION ['SESS_AUTH'] == '1') является виновником. Почему == '1' внутри списка args? – John3136

+0

ничего не отображается, символ == '1' обозначает, какие члены являются admin 1 = admin 0 = не admin – zhaobaloth

ответ

0

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

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

if должно быть больше похоже, что:

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

И ваш «эхо» синтаксис совершенно неправильно, а также:

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

Например:

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

делает все, что теперь показывает «Welcome firstname», а затем несколько строк вниз «0» ничего больше – zhaobaloth

+0

немного изменил это и работал – zhaobaloth

0

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

var_dump($_SESSION); 
+0

массив 'SESS_MEMBER_ID' => строка '2' (length = 1) 'SESS_FIRST_NAME' => string 'firstname' (length = 9) 'SESS_LAST_NAME' => string 'lastname' (length = 8) 'SESS_AVATAR' => string 'tb.png' (length = 6) 'SESS_AUTH' => string '1 '(length = 1) – zhaobaloth