我有真正的长形式,这基本上是大学的注册。并且它工作正常,但由于某种原因,现在我无法再接收表单的POST数据。我似乎收到了所有的变数,期待着' SUBMIT'按钮,这是我想要找到它发布的。
它是一种滑动形式,意味着它大约450px高,并且被分成不同的页面,并且在每个页面的底部有{{1} },previous
和save for later
按钮。 next
和previous
激活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)
我一无所获。没有!我不知道为什么:(。这很简单,让我感到沮丧。
答案 0 :(得分:2)
如果单击此按钮,您将看到var_dump
或debug()
返回此变量。
对于<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)
你的表格中有多少个字段? 我认为这是由于有限的邮寄请求的大小而导致的问题。这是服务器配置的问题。 如果您想控制它,请参阅以下链接
答案 3 :(得分:0)
如果您使用HTML表单发送数据和localhost服务器,则属性操作需要在服务器上具有PHP文件目录。
答案 4 :(得分:-3)
所有表单输入必须具有属性“name”或/和“id”已完成。