Здравствуйте! Перепробовал что знал, не могу понять, не срабатывает условие if ($Page != 'notice') PHP: if ($_SESSION['USER_LOGIN_IN']){ if ($Page != 'notice'){ //Не работает условие, на странице notice уведомления выводятся $Num = mysqli_fetch_row(mysqli_query($CONNECT, "SELECT COUNT(`id`) FROM `notice` WHERE `status` = 0 AND `uid` = $_SESSION[USER_ID]")); if ($Num[0]){ MessageSend(2, 'У Вас есть непрочитанные сообщения. <a href="">Прочитать (<b>'.$Num[0].'</b>)</a>', '', 0); } } } error_reporting(E_ALL); // Ничего не выдаёт, ошибок нет if ($Page == 'notice') // Работает, уведомления только на странице notice
Судя по тому, что в одном месте работает, а в другом нет, делаю вывод, что проблема не тут, а в первой строке. Запарывается проверка содержимого сессии. Мб вы его не записали. Мб забыли открыть сессию. Мб записали туда что-то, что трактуется как false, покуда используете автоматическое приведение.
там либо 0 если не авторизован, либо 1 если авторизован. PHP: var_dump($_SESSION['USER_LOGIN_IN']); int(1)
Перед какой строкой это прописано? И что показывает var_dump($Page), поставленный сразу после первой строки, до второго условия?
перед каждым условием поставьте var_dump с переменными из этого условия.. и все наглядно будет видно что срабатывает а что нет.. и почему)
PHP: var_dump($_SESSION['USER_LOGIN_IN']); //int(1) if ($_SESSION['USER_LOGIN_IN']){ var_dump($_SESSION['USER_LOGIN_IN']); //int(1) if ($Page != 'notice'){ --- Добавлено --- PHP: var_dump($Page); //string(6) "notice" if ($_SESSION['USER_LOGIN_IN']){ var_dump($Page); //string(6) "notice" if ($Page != 'notice'){ var_dump($Page); //ничего, но оповещения выводит
PHP: function MessageShow(){ if ($_SESSION['message']) $Message = $_SESSION['message']; echo $Message; echo '<br />1'.$_SESSION['message'].'1<br />'; // сушествует $_SESSION['message'] = array(); echo '<br />2'.$_SESSION['message'].'2<br />'; // 2Array2, почистилась } echo '<br />3'.$_SESSION['message'].'3<br />'; // существует
Ну тогда проверяйте слово notice Не стоят ли там, в паре-тройке мест русские буквы. Я про форму. А еще осваивайте отладку через отладчик.