Прерывание работы php скрипта для получения данных с формы

Статус
В этой теме нельзя размещать новые ответы.

tulvit

Создатель
Регистрация
26 Янв 2010
Сообщения
30
Реакции
6
Есть цикл, в процессе выполнения которого может потребоваться вывести информацию в браузер и получить от пользователя некоторую данные.

PHP:
for($i = 0; $i < 100; $i++){
//что то выполняется...
if(некоторое условие){
f(); //функция, выводит форму в браузер и возвращает введенные
 //данные, без выполнения этой функции продолжение
 //выполнения цикла бессмысленно
}
}

Что-то никак идеи в голову не лезут. Придумал только одно решение:

Отдельно скрипт с циклом, отдельно скрипт с нужной функцией. Как только в цикле выполняется условие if(), скрипт завершает свою работу, пользователю выводится форма, которую он заполняет, после чего запускается скрипт с функцией f(), которая обрабатывает введенные пользователем данные, завершает свою работу и снова вызывается скрипт с циклом, который получает данные, обработанные предыдущим скриптом и продолжает свою работу. Ну и все это связать воедино ajax-ом.

Конкретный пример, а то из предыдущих объяснений можно не понять, что требуется. Скрипт парсит, к примеру, серп яндекса, при возникновении капчи пользователю выводится капча и форма для ввода, он ее вводит и скрипт продолжает работу до нового появления капчи.

Уже была аналогичная тема годовалой давности Для просмотра ссылки Войди или Зарегистрируйся но решение в ней не нашел.
 
Как уже писали в приведенной вами теме - то что вы пытаетесь сделать абсурдно и невозможно.

Единственный выход это использовать $_SESSION (файлы,куки из той же эпопеи) ,где хранить флаги $_SESSION['step']=1|2|3 и т.п.Опираясь на которые скрипт будет определять что надо делать
 
это достаточно просто реализуется - 2 мя скриптами

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

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