Re: [請益] POST接不到值.......(泣)
還是解決不了,作了以下測試,希望有高手指點Orz
這是我的樣板html部分 http://pastie.org/1677786
PHP部分 http://pastie.org/1677795
PHP中所使用的class http://pastie.org/1677801
在html的部分,我使用section逐筆抓取從資料庫來的資料
在迴圈中用if else判斷顯示甚麼資料
並在第47行中使用Smarty的html_checkboxes來產生一個核選方塊
表單Submit後將值傳給自己本身的php處理
PHP的部分可以看到在第24行我將所有POST抓到的值列印出來
發現我命名edm_machine_tool_amount理應是一個陣列的checkbox
傳回來卻變成一個字串 "Array"
因為想不通,因此我把原先使用html_checkboxes的部分改寫成一般HTML寫法如下
<input type="checkbox" name="edm_machine_tool_amount[]" value=""....(略)
但這樣也是傳回一樣的結果,一個叫做"Array"的字串...
後來我將name="edm_machine_tool_amount[]"的"[]"拿掉變成每個都一樣名字
我發現他就可以抓到值了,輸出edm_machine_tool_amount=我所選的id
我真的想不透為什麼,我想問題應該是出在Smarty上面
但我真的找不出來,請高手指點迷津了.....謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.68.104
推
03/16 17:11, , 1F
03/16 17:11, 1F
→
03/16 17:12, , 2F
03/16 17:12, 2F
→
03/16 17:12, , 3F
03/16 17:12, 3F
我有試過
name=edm_machine_tool_amount_{$output_list[sec1].electrode_no}
這樣是OK的,我勾選的傳過去會印出edm_machine_tool_amout_值 ="值"
想不透orz
※ 編輯: catjimmy 來自: 220.133.68.104 (03/16 17:16)
→
03/16 17:13, , 4F
03/16 17:13, 4F
→
03/16 17:17, , 5F
03/16 17:17, 5F
推
03/16 20:03, , 6F
03/16 20:03, 6F
→
03/16 20:03, , 7F
03/16 20:03, 7F
這是在htm使用
<input type ="checkbox" name='edm_machine_tool_amount[]' value=..(略)
印出
array
'edm_machine_tool_amount' => string 'Array' (length=5)
'Submit' => string '輸出' (length=6)
'postback' => string 'true' (length=4)
使用
<input type ="checkbox" name='edm_machine_tool_amount' value=..(略)
印出
array
'edm_machine_tool_amount' => string '11' (length=2)
'Submit' => string '輸出' (length=6)
'postback' => string 'true' (length=4)
使用smarty
{html_checkboxes name='edm_machine_tool_amount' values=...(略)
印出
array
'edm_machine_tool_amount' => string 'Array' (length=5)
'Submit' => string '輸出' (length=6)
'postback' => string 'true' (length=4)
HELP~~~
※ 編輯: catjimmy 來自: 122.147.18.185 (03/16 21:19)
→
03/17 03:58, , 8F
03/17 03:58, 8F
→
03/17 03:58, , 9F
03/17 03:58, 9F
→
03/17 03:59, , 10F
03/17 03:59, 10F
→
03/17 12:12, , 11F
03/17 12:12, 11F
→
03/17 13:14, , 12F
03/17 13:14, 12F
回KC大,我照您的方法去印,還是印出下面這個.....
string 'Array' (length=5)
救命~ 請救救我太太
※ 編輯: catjimmy 來自: 220.133.68.104 (03/17 16:30)
→
03/17 16:40, , 13F
03/17 16:40, 13F
→
03/17 16:42, , 14F
03/17 16:42, 14F
→
03/17 16:43, , 15F
03/17 16:43, 15F
回Jerr大大
我也曾放棄使用smarty來輸出..就直接把那行改成一般的html產生方式如下
<input type ="checkbox" name='edm_machine_tool_amount[]' value=..(略)
但是印出變數跟使用smarty情況一樣,變成一個字串而不是array
我剛剛使用firebug去看頁面,確定在輸出前html頁面應該是沒有錯的
因為他確實顯示name="edm_machine_tool_amount[]"
請參考圖 http://imm.io/4oYZ
但是傳給自己用POST去接怎麼會變成這樣咧!!!!
btw..我還寫了一個最基本的勾選傳值的php是可以用的
所以我的勾勾應該是沒壞吧.....救命!!
※ 編輯: catjimmy 來自: 220.133.68.104 (03/17 17:22)
推
03/17 17:57, , 16F
03/17 17:57, 16F
回Jerr大 印出來是.......null
※ 編輯: catjimmy 來自: 122.147.18.185 (03/17 22:09)
最後終於解決了,感謝協助我解決問題的mesak大大
最後發現問題是在我php程式一開始import的main.php中
有一個我用來處理編碼的函式會將所有$_POST的值先使用array_map()來處理
而這只能處理一維陣列而已,因此改寫這支函式就好了
非常感謝幫助我的mesak大大!
※ 編輯: catjimmy 來自: 111.241.249.170 (03/20 14:39)
※ 編輯: catjimmy 來自: 111.241.249.170 (03/20 14:40)
→
03/20 23:01, , 17F
03/20 23:01, 17F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章