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

Форум PHP

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

 

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

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

тема: Очень умный браузер - как с этим бороться?
 
 автор: Владимир55   (04.01.2011 в 20:30)   письмо автору
 
 

На странице автоматически выполняется код. В случае обнаружения проблемы, происходит обращение к оператору, а если проблем нет, то после исполнения всех команд происходит переадресация на другой файл посредством
header("Location: format-4.php?nomstr=" . ($list+1));

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

По сути, работает релаксационный генератор, который прерывает генерацию лишь для обращения к оператору. А если все данные удовлетворяют условиям задачи, то работа должна вестись автоматически до полного завершения процесса (не более 500 циклов).

Однако на практике система не работает. Потому, что браузер «очень умный». ФФ отработал 7 циклов и заявил: «Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.». Эксплорер просто остановился, без комментариев.

Как-нибудь можно заставить обозреватели выполнять свою работу?

  Ответить  
 
 автор: Trianon   (04.01.2011 в 21:06)   письмо автору
 
   для: Владимир55   (04.01.2011 в 20:30)
 

Location: - не единственный инструмент для перехода.
есть meta refresh
есть присваивание document.location.href средствами JS в конце концов.

  Ответить  
 
 автор: Владимир55   (04.01.2011 в 21:37)   письмо автору
 
   для: Trianon   (04.01.2011 в 21:06)
 

Вот с refresh как раз и барахтаюсь... Не идет, почему-то: не формируется динамический адрес с инкрементом
<?php

    $list 
$_GET['list'];

    
$list++;
    
$kod "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='3; URL=format-4.php?nomstr=' . $list></HEAD></HTML>";

  Ответить  
 
 автор: cheops   (04.01.2011 в 21:41)   письмо автору
 
   для: Владимир55   (04.01.2011 в 21:37)
 

А зачем после параметра nomstr кавычка, пробелы и точка? Если они реально нужны, их необходимо перевести в безопасную форму.

  Ответить  
 
 автор: Владимир55   (04.01.2011 в 21:43)   письмо автору
 
   для: cheops   (04.01.2011 в 21:41)
 

Заработало:
<?php

    $list 
$_GET['list'];

    
$list++;
    
$url "format-4.php?nomstr=" $list;
    echo 
"<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=$url; target=_self'></HEAD></HTML>";
    exit;

Спасибо!

  Ответить  
 
 автор: neadekvat   (04.01.2011 в 21:44)   письмо автору
 
   для: Владимир55   (04.01.2011 в 21:37)
 

У вас опять с синтаксисом проблемы :)
Так:
<?php
$kod 
"<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='3; URL=format-4.php?nomstr=$list'></HEAD></HTML>";

Либо так
<?php
$list 
$_GET['list']; 
$kod "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='3; URL=format-4.php?nomstr=". ++$list ."'></HEAD></HTML>";


Я бы сделал так:
<?php
$list 
$_GET['list']; 
++
$list
$kod "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='3; URL=format-4.php?nomstr=$list'></HEAD></HTML>";

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

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