看板 PHP 關於我們 聯絡資訊
不好意思想請問一下 我現在有個資料列表頁面ex: name email 編輯 點入編輯後會跑到編輯資料的頁面(跟資料列表不同頁) 表單我是利用post來傳資料,所以 編輯資料頁面會接收到post過來的num(主鍵) if($_POST['num']) $num = $_POST['num']; 在編輯資料的頁面也是用post的方式來送出表單(儲存編輯的資料),但是這時候我原本編 輯資料頁面post過來的num(主鍵)值會消失 原本是想在post過來的時候用session記住,可是發現一個很大的問題,假如使用者"同時" 編輯不同的資料 session的值會被互相覆蓋掉 if($_POST['id']) { $_SESSION['id'] = $_POST['id']; } 用get又不安全,我後來是想了一個方法,就是不用session也不用get,我在表單多增加一個 隱藏欄位也叫num 然後用這種方法 <input type="hidden" name="id" id="num" value="<? echo $_POST['num']?>"/> 所以當編輯資料的頁面送出表單時,也可以接收到原本傳過來的 num 請問這樣有什麼問題嗎?? 還是有更好的解決辦法,因為覺得這樣好像作法有點怪怪的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.135.168.71
arrack:這個跟用get差不多 05/31 14:16
a613204:怎麼說?? 這個應該沒辦法直接在網址列更改值吧?? 05/31 14:25
a613204:有其他更好的辦法嗎?? 05/31 14:25
Xezzaosui:這是標準作法啊,沒什麼不好 05/31 16:43
Xezzaosui:如果是安全性考量的話,可以加上 hidden token 05/31 16:44
arrack:恩我意思是說 如果擔心被改,hidden input也很容易改 05/31 18:17
arrack:真的要考慮的是例外狀況 05/31 18:18
arrack:去裝個firefox addons web developer 或是用js改.. 05/31 18:19
a613204:感謝大家 有人有其他的作法可以參考一下嗎 05/31 18:56
evernever:應該不要擔心num會被改,你要做的是檢查使用者有沒有權限 05/31 20:22
evernever:改num, 這樣num在怎麼被改, 有權限就可以 05/31 20:24
evernever:sorry, 應該是"有沒有權限編輯"..所以不怕num被改 05/31 20:25
a613204:恩恩 如果我加上判斷權限的部分 這種做法會比使用GET好嗎? 05/31 20:30
a613204:不讓使用者一直去試參數?? 05/31 20:30