Рішення помилки в Google Chrome при відправці форми

27

Від автора: нещодавно мені довелося зіткнутися з помилкою в браузері Google Chrome при роботі з відправкою даних методом POST. При цьому мене вкрай здивувало, що цей браузер Google Chrome браузер, від якого, здавалося б, очікувати подібний баг можна було в останню чергу.

Думаю, багато хто з Вас знайомі з так званою проблемою F5. Суть проблеми полягає в наступному: у файлі Ñ” форма, яка відправляє дані методом POST, Ñ– обробник цієї форми. Після відправки даних ми повертаємося на сторінку форми. При цьому якщо ми натиснемо клавішу F5 або іконку оновлення сторінки, то браузер «люб’язно» повідомить нам про те, що у нього збереглися POST-дані, які він може відправити на сервер повторно. Загалом-то, повторна відправка форми на сервер нам, звичайно ж, не потрібна, а тому бажано вирішити якось вирішити цю саму проблему F5.

Деталі підручника

Тема: PHP

Складність: Середня

Урок: Відео версія (.mp4)

Час: 00:29:01

Розмір архіву: 56 Mb

Помилка в Google Chrome вирішується досить просто. Досить скористатися можливостями функції header() і, після отримання даних, перезапросить потрібну сторінку, тобто зробити редирект. Тим самим POST-дані скинуться, і при наступному оновленні сторінки браузер не буде пропонувати що-небудь повторно відправляти на сервер.

Загалом-то, це стандартне рішення, яке абсолютно очікувано працює у всіх браузерах… крім Google Chrome кількох останніх версій. Там проблема F5 зберігається після редіректу.

Отже, дивимося відео з роз’ясненнями даної проблеми та Ñ—Ñ— рішеннями.

До речі, у версії 26.0.1410.43 цей баг в Хромі вже виправлено Рішення помилки в Google Chrome при відправці форми

Рішення помилки в Google Chrome при відправці формиРішення помилки в Google Chrome при відправці форми

На цьому урок за рішенням помилки в Google Chrome закінчено, сподіваюся ви всі зрозуміли.