Вывод результатов работы скрипта после перенаправления

krafty

new Exception
Вывод результатов работы скрипта после перенаправления

Скрипт обрабатывает post данные формы. После анализа этих данных он добавляет записи в таблицу БД и выводит в браузер информацию.
Проблема заключается в том, что при обновлении окна браузера происходят те же действия, т.е. вставка в таблицу, вывод. Перенаправление на эту же страницу не устраивает меня тем, что после него отсутствуют информация об обработке данных.

Какие варианты есть (добавление к адресной строке параметра при перенаправлении, сессии, перехват выходного потока)?
 

krafty

new Exception
после того как скрипт отработался, нужно сделать вывод в браузер, а после него редрект уже не получится
 

Delph

Новичок
Посылай данные постом на отдельный скрипт после этого редирект на страницу типа "ваши данные удачно внесены".
 

Vi

Новичок
Если нужно сказать юзеру "OK" или "Error" (результат обработки скрипта) и после этого сделать редирект, скорее всего это JS на стороне клиента...
 

Фанат

oncle terrible
Команда форума
Какие варианты есть (добавление к адресной строке параметра при перенаправлении, сессии, перехват выходного потока)?
а про перехват можно поподробнее?
 

krafty

new Exception
white phoenix
к сожалению нет. может перехватывать поток?

-~{}~ 07.02.06 16:14:

Фанат
возможно я ошибаюсь

-~{}~ 07.02.06 16:15:

Vi
нет. нужно сказать больше и на основе добавленных в БД данных
 

Фанат

oncle terrible
Команда форума
krafty
ты написал аж три варианта действий.
почему бы тебе не воспользоваться одним из них?
 

krafty

new Exception
Фанат
мне пока не один не подходит:
1. возможно понадобится передавать много параметров через адресную строку
2. не понятно, когда уничтожать сессионную переменную после перенаправления
3. пока не разобрался и вообще не уверен применим ли он здесь
 

Фанат

oncle terrible
Команда форума
1. возможно понадобится передавать много параметров через адресную строку
что за глупость?
поставленной задаче отвечает на 100%

либо пиши, что тебе надо реально, либо не отнимай у людей время.
 

betik

Новичок
Я всегда делаю редирект на скрипт которая говорит или не говорит ОК...
Причём я передаю только ID данных, а скрипт сам делает выводы.
 

krafty

new Exception
Фанат
попробую не так абстрактно сформулировать задачу.
есть два варианта для формирования пакета счетов: с рассылкой по email и с формированием pdf для печати. можно выбрать и сразу два варианта.
далее в скрипте, кот. обрабатывает форму проверки, какой из вариантов выбран:
PHP:
if (isset($_POST['cb_mail'])) { //выбрана отправка по email
   //--------------
    //-------------- 
    echo "Все счета поставлены в очередь отправки <br>";
}
 if (isset($_POST['cb_print'])) { //выбрано формирование pdf файла для печати
  //---------------
  echo 'Файл для печати сформирован. Нажмите на ссылку с названием файла:<br><a href="'.basename($file).'">'.basename($file).'</a>';
}
вариант с гетом будет выглядить так:
вся работа с базой происходит до вывода в браузер. далее перенаправление script.php?email=1&print=1 и уже потом обработка этих параметров и вывод сообщений.
я все правильно понял?
 

krafty

new Exception
и еще имя pdf документа нужно передавать, т.к. оно формируется динамически. и еще пользователю может прийти в голову запустить этот скрипт со своими параметрами

-~{}~ 07.02.06 16:44:

наверное, можно еще что-нибудь придумать
 

Фанат

oncle terrible
Команда форума
ага! Можно!
ещё пользователю может прийти в голову в форум написать, заказать билет на самолёт и просмотреть свежие новости.

А ты это всё будешь пихать в одну форму.

не надо всё делать одновременно.
записал в базу? отлично.
после этого пусть делает другие действия.
ПО ОЧЕРЕДИ
 

krafty

new Exception
Фанат
т.е. через гет передавать минимальный набор данных, а остальные необходимые по ним вытаскивать из базы после перенаправления?
 

Vi

Новичок
вообще данных нужно как можно меньше передавать, как можно больше хранить на серваке
 
Сверху