Обновление PHP Get метода после нажатия Enter - PullRequest
1 голос
/ 12 февраля 2012

У меня есть веб-сайт, который принимает определенные данные с помощью метода «GET», анализирует их в скрипте и выводит некоторые цифры на основе результатов, найденных в базе данных.

То есть http://XXX.XX.XXX/data.php?Numbers=1 2 3 4 5 6 7 8 9 10 11 12

Показывает: 6563

Теперь, когда я изменяю одно из чисел или все числа, отправляемые на веб-сайт непосредственно в URL-адресе, СЛЕДУЕТ изменить значение, отображаемое обратно ОДНАКО, это происходит только в том случае, если я нажимаю кнопку обновления (CTRL-R), а не когда нажмите ввод. Мне нужно, чтобы это происходило, когда я нажимал Enter aka refresh без необходимости нажимать кнопку refresh

http://XXX.XX.XXX/data.php?Numbers=10 20 30 40 50 60 70 80 90 100 110 120

Показывает: 6563 Когда должно отображаться что-то еще

Если кто-нибудь знает проблему или что можно сделать для ее решения, он будет очень признателен.

Спасибо!

Ответы [ 3 ]

1 голос
/ 12 февраля 2012

Во-первых, у вас не должно быть пробелов в вашем URL.Взгляните на urlencode документы и urldecode документы

Ваша конкретная проблема (без просмотра кода), похоже, является результатом того, что ваш браузер кэширует результаты страницы.CTRL + R сообщает браузеру: «Мне все равно, что вы кэшировали, получите мне новую копию».

Чтобы обойти нежелательное кэширование в браузере, вы можете попробовать использовать функцию header до ваш скрипт отправляет любые выходные данные в браузер (если вы этого не сделаете, вы получите сообщение об ошибке об уже отправленных заголовках), чтобы сказать клиенту не кэшировать страницу:

header('Cache-Control: no-cache');
header('Pragma: no-cache');

Независимо от того, подчиняется ли браузер вашей команде или нет, решать только браузеру (хотя он должен).

0 голосов
/ 12 февраля 2012

Мое предположение заключается в том, что ваш браузер кэширует страницу и фактически повторно загружает ее только после нажатия кнопки «Обновить».

Попробуйте добавить это в ваш скрипт (перед любым выводом):

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
0 голосов
/ 12 февраля 2012

Вы кодируете / декодируете данные?Кажется, ты этого не делаешь.Проверьте это: http://php.net/manual/es/function.urlencode.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...