我有一个页面,根据众多参数列出项目,即带有值的变量.
listitems.PHP?color=green&size=small&cat=pants&pagenum=1 etc.
为了能够编辑列表,我有一个参数edit = 1,它被附加到上面的查询字符串中以给出:
listitems.PHP?color=green&size=small&cat=pants&pagenum=1&edit=1
到现在为止还挺好.
用户完成编辑后,我有一个退出编辑模式的链接.我希望此链接指定整个查询字符串 – 无论它是什么,因为这取决于用户选择 – 除了删除edit = 1.
当我只有几个变量时,我只是在链接中手动列出它们,但现在还有更多,我希望能够以编程方式删除edit = 1.
我应该对edit = 1进行某种搜索,然后只更换它吗?
$qs = str_replace("&edit=1,"",$_SERVER['QUERY_STRING']); <a href='{$_SERVER['PHP_SELF']}?{$qs}'>return</a>;
注意:我在页面之间有类似情况,我想取出pagenum并用另一个替换它.在那里,由于pagenum不同,我不能只搜索pagenum = 1,但如果有任何不同,则必须搜索pagenum = $pagenum.
谢谢.
我使用
http_build_query,它很好地接受一系列参数并正确格式化.您可以从$_GET中取消设置编辑参数,并将其余部分推送到此函数中.
请注意,您的代码缺少对htmlspecialchars()的调用. URL可以包含HTML中活动的字符.因此,当它输出到链接时:逃生!
一些例子:
unset($_GET['edit']); // delete edit parameter; $_GET['pagenum'] = 5; // change page number $qs = http_build_query($_GET); ... output link here.
原文地址:https://www.jb51.cc/php/138465.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。