Показывать div в зависимости от пользователя, вошедшего в систему

#php

#php

Вопрос:

 $getquery = mysql_query("SELECT * FROM it_task ORDER BY task_id DESC");

while ($rows = mysql_fetch_array($getquery))
{
    $id= $rows['task_id'];
    $date=$rows['date'];
    $project=$rows['project'];
    $topic=$rows['topic'];
    $instby=$rows['instby'];
    $inst=$rows['inst'];
    $dline=$rows['dline'];
    $ocome=$rows['ocome'];
    $comm=$rows['comm'];
    $fin=$rows['fin'];
    $dellink="<a href="delete.php?id=$rows[task_id]" id="editnow">Delete</a>";
    $editlink="<a href="edit.php?id=$rows[task_id]" id="editnow">Edit</a>";

$admin = "MJH";
if(($instby == $username)||($instby == $admin))
    {
        echo "<div id="editcont">$editlink $dellink</div>";
    }
    else if($inst == $username)
    {
        echo "<div id="editcont">$editlink <font face="Trebuchet MS, Arial, Helvetica, sans-serif" size="2">Delete</font></div>"
    }
    else
    {
        echo "<div id="editcontdisabled">Edit Delete</div>";
    }
  

.в моем коде выше, что я хочу сделать, это показать содержащие ссылки в зависимости от того, кто вошел в систему .. однако, когда администратор войдет в систему, он сможет увидеть содержащие $editlink и $ dellink.

. Кажется, я не могу найти, где именно я ошибся.. пожалуйста, помогите мне с этим, ребята! TIA! Больше мощности!

.вот как выглядит мой код.

Комментарии:

1. не по теме: не используйте <font> теги — они давно устарели. Вместо этого используйте CSS для настройки ваших шрифтов.

2. Пожалуйста, предоставьте дополнительную информацию. Например, какие значения содержат все эти переменные?

3. Что именно не работает?

4. Подобное жесткое кодирование значения admin, вероятно, не рекомендуется, и вы можете захотеть переработать свое приложение и логику. Предположительно, вы используете какие-то сеансы; вы могли бы легко настроить admin значение сеанса, не прибегая к жесткому кодированию значений. (предполагая, что это ваш реальный код)

5. .@Michiel Pater — указанные переменные содержат ссылки на страницу редактирования для $editlink и страницу удаления для $ dellink..

Ответ №1:

 if(($instby == $username)||($username == $admin)) 
  

Комментарии:

1. .нет, так и должно быть .. потому что функция редактирования будет доступна всякий раз, когда зарегистрированный пользователь совпадает с @inst.

2. теперь смотрите (в новой версии вашего вопроса). Итак, только одно изменение 🙂

3. . Большое вам спасибо! Это работает! простой ответ на мой вопрос.. ха-ха .. теперь я вижу, где я сделал неправильно! я сравнивал $ instby с $ admin, где я должен был сравнить $ username с $ admin! Еще раз большое спасибо! 🙂

Ответ №2:

 $admin = "MJH";
if(($instby == $username)||($instby == $admin)) {
    if($inst == $username) {
        echo "<div id="editcont">$editlink $dellink</div>";
        echo "<div id="editcont">$editlink <font>Delete</font></div>";
    }
    else {
        echo "<div id="editcont">$editlink $dellink</div>";
        echo "<div id="editcontdisabled">Edit Delete</div>";
    }
}
  

Я так и понял, что вы этого хотите, но на самом деле, очень сложно понять, что здесь происходит. $inst и $instby должны быть разными переменными? Кроме того, из любопытства, почему вы заключили свои if(); утверждения в двойные скобки?

Надеюсь, я правильно это расшифровал.

PS. Я не думаю, echo(); что редактирование html является хорошей практикой.

Комментарии:

1. .теперь все в порядке, ответ OZ_ сработал. В любом случае, спасибо за ответ. 🙂