簡體   English   中英

PHP腳本的多個表單提交選項的HTML最佳實踐

[英]HTML best practice for multiple form submission options to php script

我最終遇到了一個情況,我將要在表格,一組div或其他內容中保留一個條目列表。 每個條目都有多個可以對其執行的操作 - “編輯”,“刪除”等。

從UI的角度來看,我相對擅長CSS / HTML,但我仍然對通過表單進行信息管理感到朦朧。

我知道我可以使用GET表示法(addr.com?id=17&act=edit)使用超鏈接轉到地址,並且我應該能夠使用PHP腳本GET來讀取值。 這是......聰明嗎? 處理這種情況的方法呢?

我不確定它是否足夠安全,或者是否有一種常見的方法來處理這種情況。 你可以通過一種常見的方式處理這種情況的任何亮點都會很精彩。

我經常這樣做,我幾乎總是使用你所描述的GET表示法。 它使得分離動作和記錄的UID非常容易。

e.g. /submit.php?action=edit&uid=17

然后我們可以簡單地在PHP中路由多個操作:

<?php

$uid = $_REQUEST['uid'];
switch ( $_REQUEST['action'] ) {
    case 'edit':
        $notice = editRecord ( $uid );
        break;

    case 'delete':
        sqlQuery("DELETE FROM `records` WHERE `uid` = '$uid' LIMIT 1");
        $notice = 'The record has been removed.';
        break;

    case 'rename':
        $newname = $_REQUEST['name'];
        sqlQuery("UPDATE `records` SET `name` = '$newname' WHERE `uid` = '$uid' LIMIT 1");
        $notice = 'The record has been renamed.';
        break;

    default:
}

?>
<h1>Admin Panel</h1>
<?php if ( isset( $notice ) ) echo $notice; ?>

我們還可以在必要時使用POST來保存編輯,上傳圖像等。 因為我們依賴於$ _REQUEST超全局變量,所以$ _GET和$ _POST都被輸入到它中,因此它適用於兩種類型的表單提交。

我沒有使用GET進行這些操作的任何問題,因為它被廣泛使用。 但是,使用POST實際上可能更安全一些(如果您防止CSRF攻擊等等)。

這完全取決於您需要多少安全措施以及應用程序中的數據或操作的敏感程度。 只要您記住某些安全原則,您就可以同時使用GET和POST。 對於GET和POST,始終重要的是永遠不要相信輸入,轉義和過濾,並嘗試阻止CSRF和其他攻擊。

我建議你在網上閱讀一些教程,試着親自看看哪種請求方法是最好的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM