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 :: Повторное исполнение кода

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Netix
Отправлено: 17 Сентября, 2011 - 10:55:21
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Может не сюда пишу, но чего это за ерунда понять не могу.

Суть: отлаживаю некий код, банальными log'ом. Смотрю он мне как будто один и тот же код выполняет дважды. Добавил в каждую строку, которая выводиться в log, имя файла и номер строки. Оказалось, что PHP создает некий временный файл и вначале выполняет его, а потом повторно код уже непосредственно из исходного.

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. //Проверяем что пришло
  3.         if (isset($_REQUEST["isedit"])) {
  4.                 //Начало процесса редактирования
  5.                 debug_str("=============================================================="." файл: ".__FILE__." строка: ".__LINE__);
  6.                 debug_str("Начинается процесс редактирования дома с ID=".$_REQUEST["hID"]);
  7.                 $isEdit=true;
  8.                 $hID=$_REQUEST["hID"];
  9.                 $home=HomeListControl()->FindByID($hID);
  10.                 $shortAdr=$home->ShortAddr;
  11.                 $fullAdr=$home->FullAddr;
  12.                 $homeType=$home->HomeType;
  13.                 $floorCount=$home->FloorCount;
  14.                 $entranceCount=$home->EntranceCount;
  15.                 $apartCount=$home->ApartamentCount;
  16.                 $baseApartCount=$home->BaseApartCount;
  17.                 $dateDelivery=$home->DateOfDelivery;
  18.                 $commonSquare=$home->CommonSquare;
  19.                 $liveSquare=$home->LiveSquare;
  20.                 $errorType=1;  
  21.         }
  22.         elseif (isset($_REQUEST["createBtn"])) {
  23.                 //Либо создание, либо редактирование
  24.                 //В случае редактирования нам будет доступен hID
  25.                
  26.                 debug_str("=============================================================="." файл: ".__FILE__." строка: ".__LINE__);
  27.                 debug_str("Начинается процесс создания или редактирования дома ");
  28.                
  29.                 if (isset($_REQUEST["hID"])) { $hID=$_REQUEST["hID"]; }
  30.                 else {$hID=-1;}
  31.  


А вот что в логе:

CODE (html):
скопировать код в буфер обмена
  1.  
  2. ============================================================== файл: T:\home\virtual\second\Admin\Homes\createhome_cicoxrnp81.php строка: 63
  3. Начинается процесс создания дома файл: T:\home\virtual\second\Admin\Homes\createhome_cicoxrnp81.php строка: 64
  4. ============================================================== файл: T:\home\virtual\second\Admin\Homes\createhome.php строка: 63
  5. Начинается процесс создания дома файл: T:\home\virtual\second\Admin\Homes\createhome.php строка: 64
  6. Создаем НОВЫЙ СПИСОК ДОМОВ
  7. Загружаем дом с ID=5
  8. В конструкторе HomeControl ID=5
  9. HomeControl::LoadData()
  10. В методе HomeControl::LoadData() прошли условие на валидность ID
  11. Метод HomeControl::LoadData() - при запросе вернул : 1 записей
  12. Запрос для загрузки сведений о доме:
  13. Resource id #43
  14. Загруженный объект: Object id #3
  15. HomeControl::SaveData()
  16.  


Что это может быть?

И такая катавасия почти во всем коде. При этом например метод сохранения ::SaveData() может вызываться вообще раз 10 ДО реального вызова этого метода мной.

Помогите плиз!!! Хотя бы в какую сторону капать
 
 Top
OrmaJever Модератор
Отправлено: 17 Сентября, 2011 - 11:00:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




это может быть браузер, некоторые браузеры запрашивают страницу 2 раза (непонятно зачем), ну а к серверу пришло 2 запроса вот он их и выполнил. Нужно найти хороший снифер и посмотреть что там браузер творит


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
caballero
Отправлено: 17 Сентября, 2011 - 16:25:02
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
PHP создает некий временный файл и вначале выполняет его, а потом повторно код уже непосредственно из исходного

Ничего подобного PHP не делает
это какой нибудь движок шаблонов типа Smarty или типа того


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
DeepVarvar Супермодератор
Отправлено: 17 Сентября, 2011 - 18:21:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




OrmaJever пишет:
некоторые браузеры запрашивают страницу 2 раза
Аааа вот тут подробнее пожалуйста!!! Ниндзя
 
 Top
OrmaJever Модератор
Отправлено: 17 Сентября, 2011 - 20:45:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




DeepVarvar пишет:
Аааа вот тут подробнее пожалуйста!!!

была давненько тема где вроде после обновления страницы с кодом

(или какойто похожий) добавлялось по 2 при одном обновлении страницы, в итоге по логам апача и снифере выяснелось что браузер запрашивает страницу 2 раза (вроде мозила).


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB