最近更新: 2007-03-26

TWPUG問答 - 按了重新整理後又新增一筆相同資料?

當使用者按下瀏覽器的「重新整理」按鈕後,又再次新增一筆相同的資料,要如何避免這種情形? Taiwan PHP User Group所見問題

使用者按「重新整理」時,瀏覽器會再次送出表單資料 (現在的瀏覽器應該都會警告使用者將再次送出)。說白了,這等於問使用者是不是要再新增一筆同樣的資料。

解決方式不難,處理表單的 PHP 程式輸出一個要求瀏覽器重導向到檢視頁面的動作即可,「重導向」動作就是引導瀏覽器轉向其他頁面。當頁面重導向後,瀏覽器就不會於重整時再次送出表單。

例如使用者於 input.php 填入表單,表單送交 save.php 處理, save.php 處理之後引導瀏覽器至 list.php 。根據 HTTP 協定,引導瀏覽器轉向新網頁的導向動作為 header('Location: 新網頁之URL');。See also: header()

樂多舊網址: http://blog.roodo.com/rocksaying/archives/2911887.html