![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Пару строчек кода на РНР, но счётчик неправильно работает |
|
Разное - Пару строчек кода на РНР, но счётчик неправильно работает
|
Пользователь Сообщения: 73 |
Здравствуйте.
Имеется страница mypaints в личном кабинете юзера. На этой странице висит javascript, который аяксом каждые 1,5 сек дёргает файл mypaints_process. На страничке mypaints_process работает функция count_paint(), которая в базе данных MySQL подсчитывает число добавленных юзером в избранное рисунков, при этом старое значение счётчика записывается в переменную сессии и если счётчики различны, обновляем страницу. Проблема какая-то странная. Я как юзер добавляю пару изображений, вручную проверяю страницу mypaints_process, а оба счётчика равны (равны старшему, то есть новому значению), хотя ведь должны отличаться. При этом в JSON нужный флаг записан не был, а отладочный алерт на яваскрипте также не выводился. Вроде полторы строки кода, но я уже всю голову сломал, второй день мучаюсь. <?PHP function count_paint(){ //здесь подсчитываем количество добавленных юзером рисунков и записываем результат в переменную $accum. Далее будем сравнивать эти две переменные - $accum и $_SESSION['accum'], чтобы отслеживать новые добавленные юзером рисунки //Данная функция была проверена, работает она хорошо без ошибок, в том числе и в других скриптах, так что проблема не в ней } count_paint();//вызываем её, подсчитывая таким образом значение $accum if (!isset($_SESSION['accum'])) $_SESSION['accum']=0;//если это новая сессия и счётчик-сессия не инициализирован, то инициализируем его нулём if ($_SESSION['accum'] < $accum){//если изменилось (увеличилось) количество выбранных в этой сессии рисунков, которые выбрал пользователь, то $flag_paints_refresh='ref';//записываем для json флаг, сообщающий о необходимости перезагрузить страницу. echo ("<script type='text/javascript'>window.alert('OK')</script>");//ну или хотя бы просто сообщить что всё работает. НО ЭТОТ БЛОК IF НИКОГДА ВООБЩЕ НЕ ВЫПОЛНЯЕТСЯ, ПОТОМУ ЧТО $_SESSION['accum'] И $accum ВСЕГДА РАВНЫ. КОГДА Я ДОБАВЛЯЮ КАК ЮЗЕР НОВЫЙ РИСУНОК В КОЛЛЕКЦИЮ, $accum ДОЛЖЕН СТАТЬ БОЛЬШЕ ЧЕМ $_SESSION['accum'], НО ОНИ ВСЕГДА РАВНЫ. ПОЧЕМУ? $_SESSION['accum']=$accum;//даже если закомментировать эту строку для отладки, всё равно НЕ РАБОТАЕТ } ?> |
|
Отправлено: 02:26, 02-04-2015 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
C/C++ - Неправильно работает код. | pashazt | Программирование и базы данных | 3 | 29-10-2012 11:53 | |
драйвер видеокарты не работает или работает неправильно | Kilimnik Pasha | Металлолом | 6 | 24-04-2012 19:58 | |
Неправильно работает агент | sergey1234567 | WSUS | 2 | 26-04-2009 12:06 | |
ISA Server 2004 неправильно работает на контроллере домена (Win2003) | IksSafonsky | Сетевые технологии | 1 | 28-08-2007 11:42 | |
Счётчик на ярлычок | MrGreeN | Microsoft Windows 95/98/Me (архив) | 3 | 15-10-2003 17:16 |
|