【问题标题】:submit fails to post提交失败
【发布时间】:2011-06-02 16:29:20
【问题描述】:

如果sub1已经提交,显示sub2的提交按钮并显示其值,会提示:

注意:未定义的索引:sub1

虽然提交按钮已经存在并且它没有给出sub1的值

是什么原因?

<html>
<head>
<title>test</title>
</head>
<form method="post">
<input type='submit' name='sub1' value='sub1'>
<?php
if(array_key_exists('sub1',$_POST))
{
echo"<input type='submit' name='sub2' value='sub2'>";
}
if(array_key_exists('sub2',$_POST))
{
echo $_POST['sub1'];
}
?>
</form>
</html>

【问题讨论】:

  • 完全不可读且难以编辑的代码墙
  • 你是什么意思?您想在 pastebin 中查看全部内容吗?
  • 有可能发布var_dump($_POST)的结果?
  • $_POST 来自表单...如果它不在表单中(隐藏字段、文本字段或其他...),请确保它不会出现在 $_POST 中的任何位置。检查您的表单字段。 print_r($_POST);
  • 是的,结果是 ifarray_key_exists('myid',..) 输出如下:string(1) "1"

标签: php mysql


【解决方案1】:

小心期待提交按钮的值。如果用户在文本字段上按下回车,那么它可能会在没有该值的情况下提交。不过,很难理解你的问题。这是我使用的调试技巧。在您在帖子上运行的代码中,尝试插入命令

phpinfo(32);

这将导致您的页面显示您的表单提交的诊断信息表。

【讨论】:

  • 是的,在任何地方,但如果你这样做,在你重定向之前。我的代码通常有一个 if($_POST) 块。我会把它放在那里。
  • $_POST['myid'] 在此表中不存在,但为什么?:((
【解决方案2】:

按照 newz 的提示,将您期望具有 myid 值的字段更改为键入“隐藏”。然后它应该正确传递值。您必须添加一个提交按钮,并将名称设置为“myid”之外的其他名称。

【讨论】:

  • 你能告诉我你的意思吗?我不明白
猜你喜欢
  • 2012-06-29
  • 2019-03-16
  • 2019-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-22
  • 2011-09-22
  • 2018-07-06
相关资源
最近更新 更多