Как работает обновление страницы?

108
14

Я смотрел Stackoverflow, чтобы найти способ перезагрузить страницу таким же образом, как это делает F5. Я имею в виду, что у меня есть следующая проблема:

У меня есть страница php, содержащая форму (скажем, data.php) и таблицу, содержащую данные БД. Форма вызывает другую страницу php для выполнения действия (action.php) через метод post. Вызывается Action.php и обновляется моя БД. Теперь я хочу вернуться в data.php, и я хочу, чтобы таблица обновлялась при чтении изменений в моей БД.

Я попытался в action.php следующее:

Header ('Location: data.php'): это не работало, потому что оно отправило меня на data.php, но я не мог видеть никаких изменений в таблице перед обновлением страницы через F5, я обнаружил, что это связано с тем, что php серверный язык, чтобы он не мог действовать в вашем браузере и сказать, что он перезагружает страницу, это правильно? Заголовок ('Location: data.php? U = reload'): тогда в data.php элемент управления на $ _GET ['u'], если эта переменная равна перезагрузке, я сделал data.php set header data.php, а затем позвонил jscript location.reload. Снова у меня не было никаких изменений в таблице.

Теперь я бы хотел, чтобы таблица data.php автоматически обновлялась после обновлений БД, чтобы пользователь мог сразу увидеть изменения, которые он представил, без необходимости вручную перезагружать страницу, как я могу это сделать?

Большое спасибо!

РЕДАКТИРОВАТЬ:

Фактически это происходит: у меня есть папка, в которой изображения хранятся в форме imgID.EXT и базе данных, где данные изображений хранятся в ID формы, EXT, TEXT. Data.php загружает список изображений, упорядоченных по идентификатору, со своим собственным текстом и имеет кнопки для изменения списка (например, каждое изображение имеет кнопку перемещения, кнопку перемещения, кнопку удаления). Когда я вызываю moveup, я перехожу к action.php и меняет идентификатор изображения, перемещая его в списке и меняя имя в папке с изображением, а затем возвращаюсь к data.php.

У меня есть, что после перенаправления я вижу изображения в том же положении, что и раньше, но, например, ТЕКСТ изображения # 5 правильно меняет с помощью ТЕКСТА изображения # 4. Когда я обновляюсь с помощью F5 (или кнопки браузера для перезагрузки страницы), изображение # 5 меняет с изображением # 4, и все в порядке. Я бы хотел, чтобы что-нибудь обменивалось без необходимости использования F5, но просто не может понять, в чем проблема.

спросил(а) 2021-01-19T18:17:04+03:00 3 месяца, 2 недели назад
1
Решение
106

Вероятно, mySQL не завершил вставку/обновление вашей строки в базе данных до того, как пользователь загрузит data.php. Я получил это один раз и решил со сном (1) перед перенаправлением заголовка.

Это не лучшее решение, но оно решает проблему. Лучше использовать javascript для обработки формы или перенаправления пользователя после уведомления об успешном завершении.

ответил(а) 2021-01-19T18:17:04+03:00 3 месяца, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема