2015-01-14 34 views
1

我有一個真的長的形式,這基本上是一個註冊一個大學。而且它一直工作正常,雖然由於某種原因,現在我無法再接收表單的POST數據了。我好像收到了所有的變量,期待'SUBMIT'按鈕,這是我發現它已發佈的內容。PHP沒有接收所有的POST數據

這是一個滑動窗體,這意味着它的高度約爲450px,它被分成不同的'頁面',並且在每個頁面的底部有previous,save for laternext按鈕。該previousnext激活jQuery的功能進行滑動左邊或右邊的表格。 save for later按鈕是一個提交按鈕,它將所有接收到的數據放入數據庫以供稍後檢索。這些按鈕的HTML是:

<input type='button' class='previous' value='Previous'> 
<input type='submit' class='saveforlater' name='saveforlater' value='Save For Later'> 
<input type='button' class='next' value='Next'> 

所有這些按鈕三個做工精細,如果我測試的saveforlater接收在PHP中像這樣:

if(isset($_POST['saveforlater'])) { 
    // Do Stuff 
} 

它屢試不爽。

然而,就在表格末尾我有這樣的:

<input type='button' class='previous' value='Previous'> 
<input type='submit' class='next send' name='sendapplication' value='Send Application'> 

並用它工作,但我想不出什麼我爲了阻止它的工作已經改變。如果我var_dump($_POST),我得到所有其他變量,除了這個按鈕。

所以,如果我嘗試:

if(isset($_POST['sendapplication'])) { 

我什麼也沒得到。沒有!我不知道爲什麼:(。這是這樣一個簡單的事情,它的令人沮喪的我。

+0

您是否在同一個表單中使用2x ? – valicu2000

+0

@ valicu2000是的,有很多多個提交按鈕,但只有一個'sendapplication'。 – Chud37

+0

是否指定方法爲後 –

回答

-3

所有形式的輸入必須具有屬性「名稱」和/或「身份證」完成。

+0

他們都這樣做...... – Chud37

+0

'id'表單元素上的屬性不是強制性的,它們可以正常工作。 – halfer

1

您的輸入應具備的屬性名字。你的HTML應該像

<input type='button' class='previous' name='previous' value='Previous'> 
<input type='submit' class='saveforlater' name='saveforlater' value='Save For Later'> 
<input name='saveforlater' type='button' class='next' value='Next'> 

你的PHP看起來應該/註冊

<?php 
var_dump($_POST); 

希望這有助於你

+0

爲什麼downvote? pease解釋 –

2

如果你點擊這個按鈕,你將與var_dumpdebug()回報這個變量見。

對於提交內部<form>按鈕,只有點擊按鈕將設置好的與它的價值$ _ POST變量。

1

在表單中有多少領域有沒有? 我認爲這是由於有限的發佈請求的大小所造成的問題。這是服務器配置的問題。 如果你想控制它參考以下鏈接

What is the size limit of a post request?

0

如果您使用的是HTML表單發送數據和本地主機服務器,你的屬性動作需要在服務器上的PHP文件目錄。