PHP没有收到所有POST数据

时间:2015-01-14 11:02:28

标签: php

我有真正的长形式,这基本上是大学的注册。并且它工作正常,但由于某种原因,现在我无法再接收表单的POST数据。我似乎收到了所有的变数,期待着' SUBMIT'按钮,这是我想要找到它发布的。

它是一种滑动形式,意味着它大约450px高,并且被分成不同的页面,并且在每个页面的底部有{{1} },previoussave for later按钮。 nextprevious激活jQuery功能,可以向左或向右滑动表单。 next按钮是一个提交按钮,它将任何接收的数据放入数据库以便以后检索。这些按钮的HTML是:

save for later

如果我在PHP中测试<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

每次都有效。

然而,在表格的最后我有这个:

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)

我一无所获。没有!我不知道为什么:(。这很简单,让我感到沮丧。

5 个答案:

答案 0 :(得分:2)

如果单击此按钮,您将看到var_dumpdebug()返回此变量。

对于<form>内的提交按钮,只有点击的按钮才会被设置为$ _POST变量及其值。

答案 1 :(得分: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应该在/ enroll

中看起来像
<?php
var_dump($_POST);

希望这有助于你

答案 2 :(得分:1)

你的表格中有多少个字段? 我认为这是由于有限的邮寄请求的大小而导致的问题。这是服务器配置的问题。 如果您想控制它,请参阅以下链接

What is the size limit of a post request?

答案 3 :(得分:0)

如果您使用HTML表单发送数据和localhost服务器,则属性操作需要在服务器上具有PHP文件目录。

答案 4 :(得分:-3)

所有表单输入必须具有属性“name”或/和“id”已完成。