報價我半天試圖在搜索在網上已經看到下面如何逃避頭PHP
<?php
header("Refresh: 2;url=test.php?ID=".$_GET['ID']"&UID=".$_GET['uid']);
echo "<img src='images/loading.gif'/>";
?>
我知道這個問題是與頭部代碼中的引號我的代碼。 任何人都可以爲我糾正。
報價我半天試圖在搜索在網上已經看到下面如何逃避頭PHP
<?php
header("Refresh: 2;url=test.php?ID=".$_GET['ID']"&UID=".$_GET['uid']);
echo "<img src='images/loading.gif'/>";
?>
我知道這個問題是與頭部代碼中的引號我的代碼。 任何人都可以爲我糾正。
如果你是用字符串語法unversed,使用更簡單的一個:
header("Refresh: 2;url=test.php?ID=$_GET[ID]&UID=$_GET[uid]");
(省略數組鍵報價只允許在雙引號字符串上下文!)
使用urlencode($_GET['...'])
這裏頭可能包含部分網址。
你錯過了.
<?php
header("Refresh: 2;url=test.php?ID=".$_GET['ID']."&UID=".$_GET['uid']);
// or header("Refresh: 2;url=test.php?ID=$_GET['ID']&UID=$_GET['uid']");
echo "<img src='images/loading.gif'/>";
?>
你應該逃避,你從查詢字符串接收的參數!
使用http_build_query()
構造查詢字符串:
header("Refresh: 2;url=test.php?" . http_build_query(array(
'ID' => $_GET['ID'],
'UID' => $_GET['uid'],
)));
感謝的作品相信與否我沒有嘗試 –
@BhoshanMoheeputh這也是不安全的,因爲參數不正確地轉義。 –
@Jack:你的顯然是唯一正確的解決方案。我仍然用'header(「Refresh:2; URL = test.php?{$ _ GET-> multi-> http_build_query ['ID,UID']}」); – mario