Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Помогите пожалуйста,что не так?
Покинул форум
Сообщений всего: 140
Дата рег-ции: Сент. 2009
Помог: 0 раз(а)
А что ещё должно быть видно, если "Главная" и "Выход" безусловлено выводятся по средствам echo? Остальной код - это условия, напрочь связанные с глобальной переменной (массивом?) $user_rights, определённой в самом начале потока. Если, например, в глобальном массиве $user_rights есть ключик stat, то будет вам статистика выведена. Проверяйте условия, права пользователя, и всё такое.
global$user_rights;// объявляем этой переменной глобальную область видимости.
if($user_rights['meat'])echo'Если тру, и ключик мясцо (meat) существует, то мы видим это.. ';
Запись "if ($user_rights['meat'])" эквивалентна "if (isset($user_rights['meat']))". В обоих случаях будет осуществляться проверка на cуществование ячейки meat в массиве $user_rights
global$user_rights;// объявляем этой переменной глобальную область видимости.
$user_rights['meat']='Пользователю разрешено входить с мясом';// добавляем ключик meat и строковое значение
if($user_rights['meat'])echo'Если тру, и ключик мясцо (meat) существует, то мы видим это.. ';
/*
Но не исключено, что ключики приделываются где-то за приделами этого скрипта! В этом случае лучше бы нам рассмотреть другую, основную часть скрипта, где выдаются пользователям права.
*/
P.S: Код заключайте в соответствующий тэг, чтобы он подсвечивался. Никто не будет ломать глаза.
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Ammy пишет:
Запись "if ($user_rights['meat'])" эквивалентна "if (isset($user_rights['meat']))". В обоих случаях будет осуществляться проверка на cуществование ячейки
Не совсем так. Проверяет наличие isset, а "if ($user_rights['meat'])" проверяет meat на булевое значение, либо приводит к нему. А если такой переменной нет, то возбуждает предупреждение уровня Notice.
----- PostgreSQL DBA
Champion
Отправлено: 31 Декабря, 2009 - 11:27:49
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Ammy пишет:
Запись "if ($user_rights['meat'])" эквивалентна "if (isset($user_rights['meat']))". В обоих случаях будет осуществляться проверка на cуществование ячейки meat в массиве $user_rights
В действительности это совершенно разные вещи - if проверяет на пустоту или ложность переменной (False "" 0 etc) а isset проверяет равна ли переменная NULL
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Ammy
Отправлено: 31 Декабря, 2009 - 14:07:00
Частый гость
Покинул форум
Сообщений всего: 140
Дата рег-ции: Сент. 2009
Помог: 0 раз(а)
В данном то случае проверка наличия ключа и записи, прокатит любое из этих выражений. А если в общем, то вещи разные, извиняюсь.
Покинул форум
Сообщений всего: 140
Дата рег-ции: Сент. 2009
Помог: 0 раз(а)
Но у автора то точно нуля там быть не может, и не создана даже запись. Идёт обращение к несуществующим ячейкам в глобальной переменной (массиву). Я исхожу из основного положения, текущей темы, примера.. У меня одинаково срабатывают оба выражения..
А насчёт функции, приведённой тобою, могу сказать, что дело вкуса. Я бы не стала обращаться к подобного рода функциям в данном случае, здесь можно что-то проще, не так ли?
С новым годом, кстати! Всех поздравляю с новым годом!!! )
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
Ладно, сознаюсь, я начал читать тему только с первого маленького сообщения. goldclick, оформляй код пожалуйста, а то помогать тебе захочет очень небольшое количество народу.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.