我正在试着提交一个表单,它应该发送一个名字,但我知道我把一些愚蠢的事情搞砸了,我就是看不到它(昨晚睡了3个小时+新的编码项目在工作!=一个聪明的想法)
下面是我在一页上的表单:
<form action="add.php" method="POST">
<button type="submit" name="exportcult">Export All</button>
</form>这是另一个页面上的代码,用于处理帖子:
if (!isset($_POST["name"]) || $_POST["name"] == '') {
header('Location: '.$criteria."?error=data");
die();
}我收到了这个返回的错误消息,所以我知道它没有注册名称-为什么会这样呢?
发布于 2012-01-18 02:39:44
我想您对表单数据实际是如何提交的感到困惑。"name“是属性,而不是POST数据中的键值。您需要指定该元素的名称,该名称将是POST数据中的键值。您已经指定了name="exportcult",因此在POST数据中,变量将位于$_POST['exportcult']。但是,该值始终为空字符串,因为您尚未为按钮指定value属性。
请记住,在处理提交按钮时,只有用于提交表单的按钮的值将与其余表单数据一起包括在内。尝试使用以下命令:
<button type="submit" name="exportcult" value="export">Export All</button>如果该特定按钮用于提交表单,则$_POST['exportcult']应等于'export'。
对于那些不确定的人: ,但它们仍然必须有一个值属性。
发布于 2012-01-18 02:30:50
您的表单不包含除按钮以外的任何字段,因此$_POST将只包含字段exportcult。
编辑:由于您使用的是<button>而不是<input>,因此它可能不会进入POSTed数据。
发布于 2012-01-18 02:31:47
执行以下操作:
if (!isset($_POST["exportcult"]) || $_POST["exportcult"] == '') {
header('Location: '.$criteria."?error=data");
die();
}当字段名为"exportcult“时,您当前正在检查名为"name”的字段。另外,应该是<input,而不是<button。
https://stackoverflow.com/questions/8899753
复制相似问题