Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.221.129.19] |
|
Сообщ.
#1
,
|
|
|
Как работают страницы?
При открытии, получаем заполненную страницу с элементами управления, страница была создана на веб сервере в момент обращения. При нажании на кнопку происходит передача формы с клиента (браузера) на сервер, на сервере создается копия php скрипта страницы, исполняется код обработчика и новая страница возвращается на клиент. НО PHP страница страница создается на сервере каждый раз заново. Все переменные модуля, те что расположены возле "global $Page1;" пересоздаются и если там же разместить вызовы функций - они тоже будут вызываться каждый раз при отправке формы на сервер. Что если есть код, которому положено отработать только 1 раз для основной формы? После очередной передачи формы не сервер все испортится. Можете объяснить, как правильно разрулить это? Можно ли так поступить: Сделать php страницу, предназначенную для разового исполнения. Внутри нее, все методы submit отправлять на другие скрипты сервера, а результат возвращать на какой-нибудь скрытый фрейм, откуда как-то передавать параметры на главную страницу. Но тогда никак не применить динамическое обновление элементов страницы AjaxCall - ведь на отдельных скриптах не будет нужного элемента формы и все обновление страницы на клиенте придется делать вручную. |
Сообщ.
#2
,
|
|
|
php это не win32. после того как все данные отправлены пользователем то сервер все забывает. кроме того что ты сохранишь в сессию или базу.
при понимание этого редко возникает подобная проблема, но все таки: 1) делай условия. при первой загрузки или в текущую сессию записывай флаг 2) или на форму в скрытое поле пиши значение и уже при работе функции проверяй это значение. ну или только за счет ajax самостоятельно обновляй контент |
Сообщ.
#3
,
|
|
|
Спасибо!
|