Re: [請益] 抓值以及存至資料庫的問題

看板PHP作者 (clubfly)時間16年前 (2009/06/10 09:04), 編輯推噓10(1007)
留言17則, 6人參與, 最新討論串3/3 (看更多)
good job! XD 補充一點點東西 其實直接 使用 $_REQUEST['xxx'] 可以簡化一些程式碼 後面如果支持其他 GET 傳值 也方便多了 XD 陣列會大概如下圖 Array ( [xxx] => ( [0] => a1 [1] => a2 ) ) 使用array 直接合併值就可以了 先設一個變數 $final_insert_field 然後 $final_insert_field = implode(',',$_REQUEST['xxx']); FOREACH 就可以直接省略不寫 ^^ 所以 sql 的欄位 就直接 插入 $final_insert_field 就ok了 可以達到 原po 想要的資料庫寫法 --------- 1 a1,a2 ※ 引述《jolin19 (alex)》之銘言: : <input type="checkbox" name=xxx[]" value='a1'> : <input type="checkbox" name=xxx[]" value='a2'> : ... : 上述第一頁的表單名稱要設為陣列 : 接收頁: : $i = $POST_["xxx"]; //前一頁表單設定xxx是一個陣列~所以$i也是 : //$i[0]內容為a1...以此類推 : $list = "";//為一字串 : foreach($i as $value) { : $list .= "".$vlaue.","; : }//要加入判斷最後一筆資料不需,號~我就不寫嚕! : 你可能要把陣列的值存成一個用,號隔開的字串$list : 在將這字串$list的值寫入資料庫的單一欄位內 : 那個欄位的型態要宣告成字串就是了! : 所以你如果一定要存在單一欄位內~可能就要字串存了 : 只是你到時要再從欄位抓出來~可能要用explod等函式去切 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.116.173

06/10 09:39, , 1F
進去用 implode,出來用 explode
06/10 09:39, 1F

06/10 12:52, , 2F
但是要注意資料中不能有separator
06/10 12:52, 2F

06/10 13:15, , 3F
嗯嗯 謝謝大家 我再試試^^
06/10 13:15, 3F

06/10 19:12, , 4F
clubflymf大的方法好快速 真的非常謝謝<(_ _)>
06/10 19:12, 4F

06/10 22:08, , 5F
用REQUEST怎麼會好? 該POST的變成GET也可傳送
06/10 22:08, 5F

06/11 00:05, , 6F
請問C大用REQUEST怎麼會不好呢?SORRY我剛接觸不久
06/11 00:05, 6F

06/11 01:22, , 7F
GET, POST明確使用, 勿偷懶. 開發者自己應相當清楚
06/11 01:22, 7F

06/11 01:23, , 8F
什麼變數用GET收, 什麼用POST收
06/11 01:23, 8F
哈... 其實只是想簡化一點點 程式碼罷了 POST 改 GET 傳送 似乎 麻煩了些 不懂差別的話 get post 舉個例子 寫個 text.php <form method="post" name="k1" action="text.php"> post => <input type="text" name="link1" > <input type="submit" name="submit" value="POST方式"> </form> <form methord="get" name="k2" action="text.php"> get => <input type="text" name="link2"> <input type="submit" name="submit" value="get方式"> </form> <?php echo 'POST ARRAY'; echo '<pre>'; print_r($_POST); echo '</pre>'; echo 'REQUEST ARRAY'; echo '<pre>'; print_r($_REQUEST); echo '</pre>'; echo 'GET ARRAY'; echo '<pre>'; print_r($GET); echo '</pre>'; ?> 當使用方法 post post 跟 request 陣列會產生 使用方法 get get 跟 request 陣列 會產生 那在 url 網址輸入 (外部資料傳值) text.php?link2=132 只會有 get 跟 request 產生 交集的部份 為 request 嚕 所以request 處理會比較快速 不過要認清楚 get post 的差別 也是好 XD ※ 編輯: clubflymf 來自: 114.32.116.173 (06/11 12:06)

06/11 14:45, , 9F
這樣直接把php.ini的全域變數打開不就好了??省更多
06/11 14:45, 9F

06/11 15:29, , 10F
安全性有差
06/11 15:29, 10F

06/11 15:56, , 11F
yanli2 是在反諷?還是認真的
06/11 15:56, 11F

06/11 17:25, , 12F
沒有反諷, 我是疑問 所以有問號
06/11 17:25, 12F

06/11 17:26, , 13F
當使用$POST就是避免人家透過非表單處理的方式傳值
06/11 17:26, 13F

06/11 17:26, , 14F
所以POST和GET來區分變數的來源 用request不就無法
06/11 17:26, 14F

06/11 17:27, , 15F
區分了嗎??? 假設不區分的話 直接把全域變數打開
06/11 17:27, 15F

06/11 17:27, , 16F
不就可以省掉還在request的動作? 這是我的疑問!
06/11 17:27, 16F

06/11 17:40, , 17F
因為你無法區分哪些變數是來自外部
06/11 17:40, 17F
哈... 似乎 yanli2 會錯意了 XD jolin19 回應 程式的部份 我的補充 是 (直接使用 $_REQUEST['xxx'] 來取代 $post 後續若支持 get 傳值會方便許多) 不是硬性 要使用 request 來取代 post 就單純 覺得直接以 REQUEST 做運算的 可簡化程式碼 笑... 主要是考量若原po 要讓程式支持 get 傳值會比較方便 而上面打的 那個 GET方法 POST方法阿 是 原po 對 get post request 不太了解 所以我才打上去稍加補充 要原po 思考一下 差在那的 XD 不是說 區不區分 不知道有沒有解決您心中的疑問 XD ※ 編輯: clubflymf 來自: 61.217.162.149 (06/11 18:38) ※ 編輯: clubflymf 來自: 61.217.162.149 (06/11 18:39)
文章代碼(AID): #1ABmQJW6 (PHP)
文章代碼(AID): #1ABmQJW6 (PHP)