Для моего сайта требуется логин, который устанавливает разрешения на основе пользователя. В списке фотографий на сайте я должен определить, будет ли отображаться конкретная фотография, если пользователь имеет только гостевой доступ. Поэтому я подумал, что это заявление if else будет работать:Почему этот тест не работает?
if (!($mysql_row['guest_access'] == 'NO') AND ($_SESSION['user_level'] == 'GUEST')) {
// show the photo if it isn't private and the user isn't a guest
Но это не так.
Однако, если я отделяю этот тест на три строки, он работает просто отлично.
$is_private_photo = $mysql_row['guest_access'] == 'NO';
$is_guest = $_SESSION['user_level'] == 'GUEST';
$both_private_and_guest = ($is_private_photo AND $is_guest);
if (!$both_private_and_guest) {
// show the photo if it isn't private and the user isn't a guest
Что не так с первой версией?
вау, 5 человек бил меня точно такой же ответ: D – tloach
Спасибо всем за быстрые ответы. Наверное, я не продумал это очень хорошо. – Lonn