【问题标题】:How to prevent information on a page from resetting after a submit button is clicked (PHP)单击提交按钮后如何防止页面上的信息重置(PHP)
【发布时间】:2014-06-07 07:18:35
【问题描述】:

所以我有 1 个文件 (HTML),允许用户选择一周中某天的约会时间。单击提交后,第二个文件(PHP)构建一个日历并显示所选日期的所选时间(作为复选框)。在这个页面上,我想让用户输入一个名字,同时选择他们想要预约的时间——然后让他们的名字出现在他们刚刚选择的时间旁边。但是,当我输入名称并单击提交或仅单击提交时,时间消失并出现空日历..有什么想法吗?!

-我在我的 html 文件中使用了一个 POST 表单(用于选择初始时间),action = my php 文件。

-我在我的 php 文件中使用了一个 POST 表单(用于输入名称),action = 本身

【问题讨论】:

  • 请添加您的代码的最小示例。

标签: php html forms post input


【解决方案1】:

我相信你必须使用类似于下面的代码自己处理这个问题

<?php
$test = (isset($_POST['test']) ? $_POST['test'] : "");
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<input type="text" name="test" value='<?php echo $test; ?>'>
<input type="submit">
</form>

【讨论】:

  • 转义&lt;input type="text" name="test" value='&lt;?php echo htmlspecialchars($test,ENT_QUOTES,"UTF-8"); ?&gt;'&gt;
  • 是的。我匆匆忙忙忘记了这件事。但除此之外,永远不要相信用户输入是“正确的格式”,你应该始终清理数据并在必要时转义
【解决方案2】:

每次重新加载页面时,检查是否有任何可用的 POST 数据。如果是这样,请使用 'value=' 将其放入输入字段

【讨论】:

    【解决方案3】:

    从第二个文件的第一个 HTML 文件中获取帖子后,请注意将这些帖子值作为隐藏变量(与 HTML 文件中的名称相同)放在第二个文件表单中。它应该可以工作。

    说明:根据我从第一个 HTML 中看到的帖子,有助于填满日历,但是当您在第二页提交表单时,这些值无法填满日历。因此,您需要看到这些值也由您的第二个表单发布。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-13
      • 1970-01-01
      • 2020-08-12
      • 2011-03-30
      • 2011-12-06
      • 1970-01-01
      • 2019-06-24
      • 2020-10-16
      相关资源
      最近更新 更多