2013-07-30 51 views
-1

提交表單後,我用了幾乎空的$ _POST,花了一個小時在我的腦海中劃傷。有一個簡單的數據網格,我選擇了某一行,JS填滿所有的輸入,按鈕發送信息給edit.php提交按鈕名稱,如同一個表格內的其他輸入名稱

在形式的每個輸入(文本/文本區域的/ etc)的名稱,比如publication[image]publication[text]最後用name = "publication"type="submit"。因爲發佈是目前表名,圖片和文字 - 字段名稱。 目前表可以是任何。

隨着一些表一切都很好。但他們中的一些只給我$_POST提交按鈕名稱及其value = "Ok"。通過猴子的方法,我發現如果我更改提交按鈕名稱像「updaterow」那麼$_POST填充完全按照預期的任何表。

但如果我遇到名爲「updaterow」,或如「useful_name_for_submit_button」表?

爲什麼我不能命名按鈕,因爲其他輸入有但沒有方括號?爲什麼當我做到這一點時,$ _POST除了顯示按鈕名稱之外沒有任何其他功能。我查看了http頭 - 他們都正確地進入了服務器。

難道我錯誤的輸入名稱呢?感謝提前。

+0

總是使用'sumbit_ [tablename]'作爲按鈕名稱?對於表格發佈:'submit_publication',你只需要去掉'submit_'部分,你知道表名 – x4rf41

回答

0

它與HTML或HTTP無關;這是PHP如何處理PHP。您不能在PHP中將兩個相同的鍵放入關聯數組中。如果你這樣做,第二個要麼替換第一個,要麼被忽略。

換句話說,您一定要看輸入名稱作爲PHP數組鍵(或2D陣列,當使用方括號中)。

+0

我意識到我的錯誤。感謝mikiqex。將名稱按鈕表名[0]。希望這樣的領域名稱我永遠不會見面。 – kostya

0

更改或刪除您的提交輸入的

0

對於輸入類型元素,如文本,文本區域,等你正在使用的出版物作爲數組將舉行多個值和提交按鈕,它沒有被用來作爲陣列將只保持一個值。所以$ _POST值將返回最後一個表單中的值。

如果提交按鈕文本的頂部給出,文本區域等,$ _ POST值將返回數組值。

嘗試使用不同的名稱提交按鈕或者使用提交按鈕名稱作爲出版物[提交]

<form name="form_submit" method="post" action="">   
<input type="text" name="publication[title]" /> 
<input type="text" name="publication[text]" /> 
<input type="submit" value="Submit" name="publication[submit]" /> 
</form> 

將在形式返回所有的值作爲陣列([文獻] =>數組( [title] => test [text] => test [submit] => Submit))

+0

Goog的想法,但發佈表可能有字段'提交'。我不知道在dagagrid中將會打開什麼桌子。 「出版物」只是一個例子。它可能是'提交'或類似的。 – kostya

+0

你可以使用名稱作爲發佈[]提交按鈕,它將輸出值爲Array([發佈] =>數組([標題] =>測試[文本] =>測試[0] =>提交)) –

相關問題