Я думал, что ответил на этот вопрос, прежде чем поблагодарить StackOverFlow, но я поспешно ответил и не стал настоящей причиной моей проблемы.Страницы загружаются дважды в Firefox?
Я проверил мой Apache Access Log:
Это я просматриваю мой веб-приложение на Google Chrome Browser.
127.0.0.1 - - [06/Jan/2010:22:17:35 +0000] "GET /webs/end/new.php HTTP/1.1" 200 2146
127.0.0.1 - - [06/Jan/2010:22:17:36 +0000] "GET /webs/end/settings.php HTTP/1.1" 200 4548
127.0.0.1 - - [06/Jan/2010:22:17:38 +0000] "GET /webs/end/index.php HTTP/1.1" 200 2042
Это я просматриваю свое веб-приложение на IE7.
127.0.0.1 - - [06/Jan/2010:22:21:49 +0000] "GET /webs/end/settings.php HTTP/1.1" 200 4548
127.0.0.1 - - [06/Jan/2010:22:21:50 +0000] "GET /webs/end/index.php HTTP/1.1" 200 2042
Это я просматриваю свое веб-приложение в Firefox.
127.0.0.1 - - [06/Jan/2010:22:18:08 +0000] "GET /webs/end/settings.php HTTP/1.1" 200 4548
127.0.0.1 - - [06/Jan/2010:22:18:09 +0000] "GET /webs/end/settings.php HTTP/1.1" 200 4548
127.0.0.1 - - [06/Jan/2010:22:18:10 +0000] "GET /webs/end/index.php HTTP/1.1" 200 2042
127.0.0.1 - - [06/Jan/2010:22:18:10 +0000] "GET /webs/end/index.php HTTP/1.1" 200 2042
127.0.0.1 - - [06/Jan/2010:22:18:11 +0000] "GET /webs/end/new.php HTTP/1.1" 200 2146
127.0.0.1 - - [06/Jan/2010:22:18:12 +0000] "GET /webs/end/new.php HTTP/1.1" 200 2146
Это только я нажимаю. Но Извещение, что для каждой страницы запрос firefox, кажется, загружает страницу дважды и выполняет мои скрипты PHP, поскольку они выполняются дважды и вносят две вставки в мою БД!
Почему так? Я использую Firefox 3.5.6. Я предполагаю, что это проблема Firefox, а не PHP/Apache?
Я очень надеюсь, что вставки, о которых вы говорите, строго регистрируются. Если выдача запросов GET вызывает некоторые другие изменения данных, у вас есть серьезные проблемы с дизайном. – NotMe
'Если выдача GET-запросов вызывает некоторые другие изменения данных, это совершенно ложная заявка. Нет никакой разницы, принимаете ли вы серию входных параметров из набора полей формы в столбце или сборку строки запроса в get. –
Я бы не сказал, что нет никакой разницы. Для одного запроса на отправку требуется повторная публикация (о том, что большинство браузеров предложит пользователю), тогда как запрос GET можно запросить легко (непреднамеренно) и скопировать URL-адрес и вставить его, чтобы повторно запросить его. Кроме того, кто-то может легко разместить ссылку в img на своем сайте с помощью src, указывающего на ваш сайт, и любой посетивший их сайт разместит на вашем сайте. Если ваша безопасность основана на файлах cookie, их cookie все равно будет отправлен. Таким образом, существует множество причин не использовать GET для публикации данных, которые необходимо сохранить, или запросы, которые будут изменять данные. –