Опьянение успехом.
17-03-2005 16:25
к комментариям - к полной версии
- понравилось!
Ржем! То ли спало напряжение прошедших суток, то ли просто найдено наконец решение проблемы, над которой бился эти сутки. Нашел. Докопался. Итак не слабое такое самомнение сейчас достигло просто оклонебесных высот.
И хотя сейчас состояние уже нормализовалось и стабилизировалось, в обед это было действительно опяьнение...
За это я и люблю свою работу. =)
А дело было вот в чем: (...незнакомые с PHP люди могут смело пропускать все нижеследующее - не смешно.... )
Итак,
Процесс: Добавление картинки к некоему итему.
Дано: Окно настроек итема, в том числе кнопочка добавления картинки, по нажатию которой открывается маленькое окно диалог, гнде пользователь указывает путь к картинки, после чего жмет кнопк Apply.
Реализация: Родительский скрипт, отрисовывающий страницу настроек итема вызывает скрипт обработки диалога, который во-первых отрисовывает и реализует этот самый диалог с пользователем, во-вторых укачивает каритику с компа пользователя на сервер во временную! директорию, после чего регистрирует данные о картинке в таблице сесии и отдает управление назад родительскому скрипту. Тот в свою очередь, после отработки дочернего скрипта берет из таблицы сессии данные о картинке и по кнопке save пихает ее в базу данных, предварительно естссно проверив наличие этой картинки.
Note: после отработки скрипта картинка из временной директории делитается. Если кнопа Save не нажата - в базу, естессно ничего не пишется.
Issue: Не добавляется картинка.
Investigation: Лезу к чуваку, проверяю права на чтение-запись. все вроде зашибись. Спускаемся еще на один уровень в глубь: проверяем ан каком этапе картинка пропадает. картинка на сервак заливается? Заливается. Картинка в базу отправляется? Не отправляется. Где-то что-то...
.... вообщем пожалуй дальнейшие копания я тут расписывать не буду. Долго и ну интересно...
Причина: Срипт почему-то отрабатывается два раза подряд и пользователь видит уже результаты вторго прохода скрипта. При первом проходе он получает все данные о картинке, но так как кнопка save не нажата в базу он ничего не пишет, однако, по завершинии очищает в сессионой таблице данные о картинке и ДЕЛИТАЕТ ПАДЛА КАРТИНКУ!!!! ААА!!!!
А при втором проходе он уже не находит ни информации о картике, ни самой картинки.
И само смешное! Из-за ЧЕГО!!! Из-за того, что в одном куске когда, где идет форматирование внешнего вида таблицы стоит инструкция backgroundcolor = #ffffff.
Занавес!
Я знаю, что ты скажешь. Ты скажешь "Блин, это не возможно!" Я ЗНАЮ!!! Это не возможно! Но это так...
Долго смеялись всем отделом....
вверх^
к полной версии
понравилось!
в evernote