【问题标题】:Get input values ignoring values in hidden forms获取输入值忽略隐藏表单中的值
【发布时间】:2011-11-14 02:41:36
【问题描述】:

我正在尝试从前一页获取 $_POST 值。

<form method="POST">
<input type="checkbox" name="hey"<?php if (isset($_POST['hey'])) echo " checked"; ?>>
<input type="submit">
</form>

并且任何值都必须保存在隐藏表单中,如果您更改检查,表单值不会更新:

<form method="POST">
<?php
if ($_POST['hey'] == 'on') {
?>
<input type="hidden" name="hey" value="on" />
<?php
}
?>
<input type="checkbox" name="hey"<?php if (isset($_POST['hey'])) echo " checked"; ?>>
<input type="submit">
</form>

这个结构可能听起来很奇怪(由于 CMS 规范),无论如何,如果它发生变化,我必须获取输入值,而不是隐藏值,并且所有隐藏形式都应该写入源代码中。有什么想法吗?

【问题讨论】:

  • 它们将在 $_POST 数组中
  • 我觉得我可以为您提供帮助,但我在理解您的要求时遇到了一些困难。你能解释一下吗:'并且任何值都必须保存在隐藏表单中,如果你更改检查,表单值不会更新:'
  • 输入类型没有区别,无论类型如何,取值方式相同
  • @xbonez 我的意思是,“任何 $_POST 值都必须在隐藏状态下可用,但是这样您就无法从输入表单中获得任何更改。需要通过忽略隐藏值来获取更改。”清楚了吗?

标签: php html


【解决方案1】:

您使用复数 - 所以我假设它是两个或多个变量。在第二页表单中设置一个隐藏字段,称为previous_variables,将所有以前的变量及其名称、序列化或JSON字符串放在此处,当表单提交、反序列化或解码JSON时,作为起点并在第二个表单上的新值发生时覆盖更实际...

【讨论】:

    猜你喜欢
    • 2015-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-18
    • 1970-01-01
    • 1970-01-01
    • 2013-11-25
    相关资源
    最近更新 更多