加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何在表单提交时保留已设置的GET参数值?

发布时间:2020-12-13 13:39:11 所属栏目:PHP教程 来源:网络整理
导读:我有一个URL:foo.php?name = adam lName = scott,而在foo.php中,我有一个表格,给我的rectangleLength具有提交按钮的rectangleBreadth. 当我单击此表单操作的提交按钮$_SERVER [‘REQUEST_URI’],我得到这个结果URL:foo.php?rectangleLength = 10 rectang
我有一个URL:foo.php?name = adam& lName = scott,而在foo.php中,我有一个表格,给我的rectangleLength&具有提交按钮的rectangleBreadth.

当我单击此表单操作的提交按钮$_SERVER [‘REQUEST_URI’],我得到这个结果URL:foo.php?rectangleLength = 10& rectangleBreadth = 5(这些值已被用户填写).

请注意,我失去了我以前的价值名称和来自URL的lName.

我如何保持他们?

此外,请记住,我必须回到foo.php,如果用户想要再次提交表单,那么长度和宽度值应该更改.

您可以在第一个目标站点的blabla.php表单中添加两个隐藏的字段:
<form ...>
  <input type="hidden" name="name" value="<?php echo htmlspecialchars($_GET['name']);?>">
  <input type="hidden" name="lName" value="<?php echo htmlspecialchars($_GET['lName']);?>">

  <!-- rest of the form here -->
</form>

对于动态解决方案,请使用foreach循环:

<?php
foreach($_GET as $name => $value) {
  $name = htmlspecialchars($name);
  $value = htmlspecialchars($value);
  echo '<input type="hidden" name="'. $name .'" value="'. $value .'">';
}
?>

您可以考虑将动态方法锁定到已知可能的键列表:

<?php
$keys = array('name','lName',...);
foreach($keys as $name) {
  if(!isset($_GET[$name])) {
    continue;
  }
  $value = htmlspecialchars($_GET[$name]);
  $name = htmlspecialchars($name);
  echo '<input type="hidden" name="'. $name .'" value="'. $value .'">';
}
?>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读