2015-01-14 33 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文件目录。