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

HTML+CSS+JavaScript

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

 

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

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

тема: Непреодолимое кеширование броузера
 
 автор: Владимир55   (14.01.2009 в 18:46)   письмо автору
 
 

На странице стоит форма ввода информации, имеющая ссылку на внешний обработчик.

В обработчике происходит проверка правильности введенной информации. Если информация введена неправильно, то происходит переход на прежнюю страницу. Вот так:

        header('Location: 1.htm');
        exit;


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

Тогда, почитав этот форум и имеющиеся в нем ссылки, я в обработчике сделал переход на страницу с формой вот таким образом:
$sl = rand(100, 999);
        echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0;
        URL=1.htm?s=", $sl, "'></HEAD></HTML>";


Но и это совершенно не изменило ситуацию - броузер не делает повторного ввода!

Но как-то же можно заставить броузер очистить кеш?

  Ответить  
 
 автор: Eugene77   (17.01.2009 в 18:04)   письмо автору
 
   для: Владимир55   (14.01.2009 в 18:46)
 

Вот вам полный "боекомплект"
<?

function nocache(){
    header("Expires: Thu, 19 Feb 1998 13:24:18 GMT");
    header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
    header("Cache-Control: no-cache,  mast-revalidate");
    header("Cache-Control: post-check=0,  pre-check=0");
    header("Cache-Control: max-age=0");
    header("Pragma: no-cache");
}

Если хоть что-то упустите...

  Ответить  
 
 автор: coloboc66   (18.01.2009 в 00:11)   письмо автору
 
   для: Eugene77   (17.01.2009 в 18:04)
 

Не поможет, я так думаю, т.к. не в кэше дело. Но это МОЁ мнение, могу и ошибаться...

  Ответить  
 
 автор: Eugene77   (18.01.2009 в 19:15)   письмо автору
 
   для: coloboc66   (18.01.2009 в 00:11)
 

Да, мне тоже так показалось, топикстартер просит не то, что хочет.
Притворяется :)

Чтобы избежать разнообразных мутностей и неопределённостей можно
прямо указать в форме значения полей
value="значение"
, передав их обратно из обработчика каким-либо способом.

Даже более того: Насколько я понимаю, это единственный надёжный способ поэтапно добиться от посетителя необходимого заполнения формы, не расчитывая, что он сразу всё заполнит без ошибок.

  Ответить  
Rambler's Top100
вверх

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