我正在验证页面上的表单,我需要使用相同的 url 查询重定向回同一页面,并&valid=false
在重定向时在查询末尾添加一个附加信息。
您将如何做到这一点,以便在重定向时不会重复 url:
http://test.com/index.php?a=1&b=2&valid=false&a=1&b=2&valid=false
我在用 $_SERVER['REQUEST_URI']
我正在验证页面上的表单,我需要使用相同的 url 查询重定向回同一页面,并&valid=false
在重定向时在查询末尾添加一个附加信息。
您将如何做到这一点,以便在重定向时不会重复 url:
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']
未定义,则将创建它,否则将对其进行修改。