Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: И опять обновление браузера
 
 автор: Gust   (26.06.2007 в 12:55)   письмо автору
 
 

Просмотрел кучу постов, но так и не могу разобраться.
Допустим скрипт обрабатывает данные, посланные post методом и создает файл.
В результате выводим сообщение типа "Спасибо, имя файла: ....".
Разумеется, при обновлении браузера, создаться еще один файл, что надо исключить.
Вопрос: Если я использую перенаправление на другую страницу отправкой заголовка header("Location: index.php"), как index.php может узнать имя созданого файла.
Сразу скажу: header("Location: index.php?ИмяФайла=Файл") не подходит.

   
 
 автор: bronenos   (26.06.2007 в 14:16)   письмо автору
 
   для: Gust   (26.06.2007 в 12:55)
 

почему не подходит

   
 
 автор: Gust   (26.06.2007 в 14:51)   письмо автору
 
   для: bronenos   (26.06.2007 в 14:16)
 

это как одно из условий. Меня просто интересует, как можно при редиректе передать результаты исполнения 'активного' скрипта - это может быть и имя файла и довольно значительный отчет. А в урле есть ограничения, да не хочется 'светить' эти данные в урле.

   
 
 автор: Gust   (26.06.2007 в 14:56)   письмо автору
 
   для: bronenos   (26.06.2007 в 14:16)
 

т.е. можно как-то добится того что конструкция типа

If ($_POST['есть_данные']) {
//создаем файл
//формируем и выводим отчет
}else{
//показываем форму для запонения
};

не срабатывала при обновлении браузера (разумеется после отправки формы), но выводила результаты

   
 
 автор: Gust   (26.06.2007 в 14:59)   письмо автору
 
   для: bronenos   (26.06.2007 в 14:16)
 

?

   
 
 автор: victoor   (26.06.2007 в 21:00)   письмо автору
 
   для: Gust   (26.06.2007 в 12:55)
 

а если попробывать при получени данных открывать ссессию, туда все нужное сохранять, обрабатывать принятые данные, а потом переход header("Location: index.php"), там тоже сессию открываешь, читаешь все нужные данные и выводишь сообщение типа "Спасибо, имя файла: ....".

   
 
 автор: Gust   (27.06.2007 в 07:56)   письмо автору
 
   для: victoor   (26.06.2007 в 21:00)
 

в одной из похожих тем (не могу найти, поск че-то на форуме перестал работать: Error: Can't create/write to file '/tmp/mysql/#sql_8ee_0.MYI' (Errcode: 2)) (только там создавался не файл, а производилась запись в базу mysql) я предложил во избежание повторной записи предварительно проверять ее наличие в базе (по переданным данным)
Меня поправили, назвав это предложение костылем (и в принципе я с этим согласен).
Сессии наверно помогли бы в этом вопросе, но, по-моему, это тоже где-то в области костылей. Могу сам предложить использовать вместо сессий запись и чтение данных в базе mysql (мне это ближе).
Я полагал, что без усложнения такой, на мой взгляд, изящной конструкции скрипта не обойтись, но интересны способы минимального усложнения, исключающие повторные обновления, но при этом позволяющие вывести отчет о совершенных действиях (привык информировать юзеров о происходящем :).
И еще, может не в тему, но хочется узнать мнение о костылях - нужны ли они, когда нет коляски (подчас дорогой и громоздкой)?

   
 
 автор: Ravanger   (27.06.2007 в 12:52)   письмо автору
 
   для: Gust   (27.06.2007 в 07:56)
 


session_start();

if(!session_is_register("session_name"))
 {
     If ($_POST['есть_данные'])
     { 
     //создаем файл 
     //формируем и выводим отчет
     session_register("session_name");   
     }else{ 
                 //показываем форму для запонения;
            } 
 }else{
             // выводим отчет;
        }

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования