我正在验证网页上的表单,我需要在重定向时重定向回同一个网址,并使用相同的网址查询和查询末尾的其他&valid=false
。
如何执行此操作以便重定向不会重复网址:
http://test.com/index.php?a=1&b=2&valid=false&a=1&b=2&valid=false
我正在使用$_SERVER['REQUEST_URI']
答案 0 :(得分:2)
有很多方法可以做到,这里有一个简单的方法:
$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(),正则表达式等
答案 1 :(得分:1)
修改参数后可以使用http_build_query():
<?php
$_GET['a'] = 1;
$_GET['b'] = 2;
$_GET['valid'] = 'true';
$url = $_SERVER['SCRIPT_NAME'].'?'.http_build_query($_GET);
?>
就像那样,如果没有定义$_GET['valid']
那么它将被创建,否则它将被修改。