2010-02-22 58 views
1

假設您正在製作博客應用程序,並且您正在嘗試確定如何構建特定帖子的評論表單。你會隱藏後期輸入,或變量?

  1. blog_post_id在評論表單一個隱藏的表單字段,或者將您
  2. GET變量設置表單動作post_comment?blog_post_id=<id>,然後抓住它呢?

爲什麼?


我的2美分:

如果你把它放到POST,那麼所有的變量都在一致的位置,當你試圖處理形式。但是,我發現blog_post_id通常都會在URL中,所以你發送了一些額外的不必要的數據(並且必須通過打印隱藏域的工作)。

回答

3

從技術上講,兩種選擇之間確實沒有太大的區別。就我個人而言,我會使用隱藏的POST,因爲該URL看起來更乾淨,您不必擔心URL轉義值*

*這應該是不成問題的數字ID,但哦...


重新編輯:

然而,我發現,往往blog_post_id將在無論如何...

這完全取決於你。如果你想在那裏,你可以把它放在那裏,但你不需要。

...並且必須通過打印隱藏字段的工作。

再次,是不是真的有一大堆的差異...

<form action="/post_comment?post_id=<?php echo $id; ?>"> 

<form action="/post_comment"> 
<input type="hidden" name="post_id" value="<?php echo $id; ?>" /> 

隱藏的輸入提供的關注更好的分離(在微 - 比例),並且是更加可讀的恕我直言,而GET變量是一行少代碼...採取你的選擇。 :)

+0

除了大部分時間以外,它都會出現在URL中,因爲您通常希望重定向到該博客帖子,以便您可以看到您的評論。 – mpen 2010-02-22 01:42:22

+0

@Mark重定向回帖並不意味着您必須將任何內容放到'/ post_comment'中。 – deceze 2010-02-22 01:49:19

+0

呃......不,不一定。我想你可以把這些東西塞進帖子裏?但是當你想查看一個頁面時,通常在URL中使用它是有意義的,不是嗎? – mpen 2010-02-23 02:39:36

-2

我會選擇第一個選項這似乎更好。如果你使用第二個選項,那就是GET,那麼我允許用戶篡改我的評論表單,如果你不注意,它有時會造成安全問題。

+1

評論表單中的隱藏字段也可能被欺騙。就這一決定而言,「安全」不是問題。 – 2010-02-22 01:21:38

+0

同意匿名。無論您允許從用戶那邊發送什麼,實際上都可以由用戶修改。 這與DRM目前無效的原因相同...... – Alfabravo 2010-02-22 01:30:07

+0

@Anon:我最初說「我會選擇第一個看起來更好的選項。」隱藏的方法比GET方式更好,但它也不完美,我從來沒有說過,但因爲我有兩種選擇,所以我不得不選擇一個選項。希望你明白這一點。 – Sarfraz 2010-02-22 01:32:01