時,查詢字符串正在附加有人可以解釋爲什麼當我多次執行此代碼時,它將子字符串?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