Re: [請益] 按鈕問題

看板PHP作者 (爆)時間15年前 (2010/04/12 15:44), 編輯推噓6(6041)
留言47則, 7人參與, 最新討論串3/6 (看更多)
: 看了一下還是改用回答的好了! : 基本上,通常一個檔案只做一個echo輸出,不然程式會過於混亂。 : 但是如果把html寫入變數和使用echo感覺混亂度一樣。 : 那不如html就單純寫html就好了! : 所以變成這樣: : <?php : 一段程式碼之後 : while($row = mysql_fetch_array($result)):?> : <form method="post" value="接收端的頁面"> : <ul><li></li></ul> : <?=$row["time"]?><br> : <?=$row["title"]?><br> : <?=$row["content"]?></p> : <p>&nbsp</p> : <p><input type='submit' name='edit' value='<?=$row[num]?>' /></p> : </form> : <?php : endwhile; : 接著之後的程式碼 : ?> : 不管form有沒有定義name,每個form都是彼此不相干的。 : 所以各自獨立的form帶出來的資料就會不一樣。 我改成這樣 while($row = mysql_fetch_array($result)):?> <form method="post" value="edit_news2.php"> <ul><li></li></ul> <?=$row["time"]?><br> <?=$row["title"]?><br> <?=$row["content"]?></p> <p>&nbsp</p> <p><input type='submit' name='edit' value='編輯' /></p> </form> 我是想按要按鈕顯示編輯 可是這樣按鈕按了沒反應耶,如果form那邊加的action 那我edit_news2.php該怎麼寫來分辨 資料庫有num的序號,edit_news2.php是想利用序號來select資料 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.46.129.113

04/12 16:30, , 1F
放個<input type="hidden"> 把序號傳過去edit_news2.php
04/12 16:30, 1F

04/12 16:38, , 2F
感謝..原來這麼簡單
04/12 16:38, 2F

04/13 02:50, , 3F
用超連結帶變數過去就好了, 執著使用表單的用意是?
04/13 02:50, 3F

04/13 07:25, , 4F
樓上可以考慮帳號密碼也用超連結帶過去而不用表單。
04/13 07:25, 4F

04/13 07:27, , 5F
並非所謂執著,單純就是一個容易被改,一個不容易被改。
04/13 07:27, 5F

04/13 20:44, , 6F
這個容易不容易的差距好像不大,而且這裡被改有差喔@@?
04/13 20:44, 6F

04/13 20:48, , 7F
就習慣上來說,不管有沒有安全性的問題。
04/13 20:48, 7F

04/13 20:48, , 8F
用POST的方式至少會比用GET的方式來得好。
04/13 20:48, 8F

04/13 20:49, , 9F
否則為什麼進展到framework的階段都要用post來傳遞。
04/13 20:49, 9F

04/13 20:50, , 10F
今天只要你的資料是立刻可以透過網址進行更改的!
04/13 20:50, 10F

04/13 20:50, , 11F
那就要開始思考他安全性的問題。
04/13 20:50, 11F

04/13 23:16, , 12F
使用者傳的資料沒有一個是安全的,就這 case 而言 GET
04/13 23:16, 12F

04/13 23:16, , 13F
沒有這麼嚴重吧。btw 現在不是只在說這個 case 嘛?
04/13 23:16, 13F

04/13 23:27, , 14F
get......比post嚴重一點點!
04/13 23:27, 14F

04/13 23:27, , 15F
但是...能不用,就少用。最好不要用。
04/13 23:27, 15F

04/13 23:29, , 16F
畢竟,GET是傳資料給SERVER,POST是讓伺服器自己來抓。
04/13 23:29, 16F

04/13 23:29, , 17F
就這個CASE的話,他是用表單,建議post,有人用hidden就解
04/13 23:29, 17F

04/13 23:29, , 18F
決了。還有其他的疑問嗎?
04/13 23:29, 18F

04/14 00:26, , 19F
看他迴圈輸出的資料並非帳號密碼, 而且他是要列出每筆記錄
04/14 00:26, 19F

04/14 00:26, , 20F
都可修改, 自然用GET送id過去是最容易, 我不是叫他把全部資料
04/14 00:26, 20F

04/14 00:27, , 21F
都用GET送
04/14 00:27, 21F

04/14 01:53, , 22F
「POST是讓伺服器自己來抓」? 不好意思,這句我有點不懂
04/14 01:53, 22F

04/14 01:54, , 23F
另外用 get 送 id 是很普遍的做法… 用很多form才有點怪
04/14 01:54, 23F

04/14 01:55, , 24F
加上維護 html 的時候也比較容易讀。另外就是針對 get 比
04/14 01:55, 24F

04/14 01:57, , 25F
較容易被修改的問題,可以用檢查referer來過濾掉一些
04/14 01:57, 25F

04/14 01:57, , 26F
但如果真的有心要用 curl 這種自訂 referer 或 wireshark
04/14 01:57, 26F

04/14 01:57, , 27F
來擷取封包的話,get/post基本上沒有太大的差異,真的要做
04/14 01:57, 27F

04/14 01:58, , 28F
的話,就是把 id 做 hash 吧…
04/14 01:58, 28F

04/14 02:01, , 29F
或是用 acl…
04/14 02:01, 29F

04/14 02:29, , 30F
get很方便但一定要檢查Session/Cookie最好再帶Bread Crumb
04/14 02:29, 30F

04/14 06:56, , 31F
其實我覺得應該是能用get就盡量用get,因為他的複雜度比
04/14 06:56, 31F

04/14 06:57, , 32F
post來的低,不過他有他的限制,像是無法"傳檔、換行"、
04/14 06:57, 32F

04/14 06:57, , 33F
長度限制、編碼等問題。如果要從安全性的觀點去看他,就
04/14 06:57, 33F

04/14 06:58, , 34F
網路而言,都是明碼傳送,所以是一樣的,就user而言,改網址
04/14 06:58, 34F

04/14 06:58, , 35F
跟改表單內容(重新送出),應該是差不多吧?通常不會用get
04/14 06:58, 35F

04/14 06:59, , 36F
傳帳密,應該是擔心,在登入後到轉下一頁之前,帳密會出現
04/14 06:59, 36F

04/14 06:59, , 37F
在網頁上,不幸這時被看到或是user剛好把網址貼給別人,
04/14 06:59, 37F

04/14 06:59, , 38F
那就搞笑了。
04/14 06:59, 38F

04/14 07:19, , 39F
TO CHRISQQ:get是client端直接將資料送給server端。
04/14 07:19, 39F

04/14 07:19, , 40F
而POST僅是告知SERVER「我有資料要你過來取得喔!」
04/14 07:19, 40F

04/14 07:20, , 41F
POST並不是CLIENT用什麼隱藏封包送出的方式。純粹是伺服器
04/14 07:20, 41F

04/14 07:20, , 42F
自己過來取得資料。所以不會像GET一樣立即產生明顯的資料
04/14 07:20, 42F

04/14 07:39, , 43F
而且!動一點點小技巧,要讓<a href>變成post其實很簡單。
04/14 07:39, 43F

04/14 12:50, , 44F
感謝解釋。「小技巧」應該要搭配 javascript 吧?
04/14 12:50, 44F

04/14 13:14, , 45F
老實說...其實我看不懂 tkdmaf 的解釋。
04/14 13:14, 45F

04/14 13:38, , 46F
我猜,在我從wiki連到w3c的rfc2616之後,找到比較可能的
04/14 13:38, 46F

04/14 13:39, , 47F
大概是 9.5 POST 的第一句吧… 其他我都沒找到…
04/14 13:39, 47F
文章代碼(AID): #1BmizCPJ (PHP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 6 篇):
2
4
4
29
文章代碼(AID): #1BmizCPJ (PHP)