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 .'">'; } ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |