时,查询字符串正在附加有人可以解释为什么当我多次执行此代码时,它将子字符串?val=1
附加到我的url?
例子:我的脚本位于index.php文件,如果我执行它3次,我都会有这样的网址在浏览器中:http://localhost/index.php?val=1?val=1?val=1
我想有http://localhost/index.php?val=1
。 。 。
<?php
if(isset($_POST['hidden']) && $_POST['hidden'] == 2){
$page = $_SERVER['HTTP_REFERER'];
header("location: $page?val=1");
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<input name ="hidden" value="2">
<input type="submit">
</form>
阿里纳斯之前只需添加一个测试:你不应该依赖于'$ _ SERVER [ 'HTTP_REFERER']'http://stackoverflow.com/a/6023980/1415724 –
原因是,你使用的是同一个文件,所以它重定向到同一个文件,使用GET方法并附加'$ page?val = 1'。这几乎是不言自明的。改为将其重定向到另一个页面。 –
谢谢你的信息。 – zm455