[英]Php How do you redirect without copying the same url query
我正在验证页面上的表单,我需要重定向到具有相同url查询的同一页面,并在重定向时在查询结尾处再添加&valid=false
。
你将如何做到这一点,以便重定向不重复网址:
http://test.com/index.php?a=1&b=2&valid=false&a=1&b=2&valid=false
我正在使用$_SERVER['REQUEST_URI']
有很多方法可以做到这一点,这里有一个简单的方法:
$url = $_SERVER['REQUEST_URI'];
if (!isset($_GET['valid'])) {
$url.='&valid=false'; //assuming there are always additional parameters, otherwise you must check whether to use '?' or '&'
}
但是你也可以使用parse_url(),strpos(),正则表达式等
修改参数后,可以使用http_build_query() :
<?php
$_GET['a'] = 1;
$_GET['b'] = 2;
$_GET['valid'] = 'true';
$url = $_SERVER['SCRIPT_NAME'].'?'.http_build_query($_GET);
?>
像那样,如果没有定义$_GET['valid']
那么它将被创建,否则它将被修改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.