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

前端之家收集整理的这篇文章主要介绍了php – 如何在表单提交时保留已设置的GET参数值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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 .'">';
}
?>

猜你在找的PHP相关文章