下面的代碼給我的錯誤。PHP語法錯誤,意外'「,希望T_STRING或T_VARIABLE或T_NUM_STRING
<?php
echo "<a href='prefs.php?username=$PHP_USER'>$lang_menu["prefs"]</a>";
?>
我敢肯定它是與我的請求2個PHP變量,沒有。知道如何解決
下面的代碼給我的錯誤。PHP語法錯誤,意外'「,希望T_STRING或T_VARIABLE或T_NUM_STRING
<?php
echo "<a href='prefs.php?username=$PHP_USER'>$lang_menu["prefs"]</a>";
?>
我敢肯定它是與我的請求2個PHP變量,沒有。知道如何解決
顯然,你不能在雙引號字符串寫入轉義雙引號。我建議不要將未轉義的文本寫入HTML和URL。試試這個:
<?php
echo '<a href="prefs.php?username=' . rawurlencode($PHP_USER) . '">' . htmlspecialchars($lang_menu["prefs"]) . '</a>';
?>
編輯:一對夫婦澄清......
這些都是有效的字符串:
$foo = "Hello, World!";
$foo = "Hello, 'World!'";
$foo = "Hello, \"World!\"";
這是不:
$foo = "Hello, "World!"";
正如這個詞所暗示的,SQL注入是指稱爲SQL的數據庫查詢語言。此代碼不包含SQL,它不與任何數據庫進行交互。
所以這是一無所知點或SQL注入。它是關於某些在特定語義環境中具有特殊含義的字符。這是關於text within text。
$variables
分裂引號"
:
echo "<a href='prefs.php?username=".$PHP_USER."'>".$lang_menu['prefs']."</a>";
使用此:
<?php
echo "<a href=\"prefs.php?username=".$PHP_USER."\" >".$lang_menu["prefs"]."</a>";
?>
試試這個
<?php
echo "<a href='prefs.php?username=".$PHP_USER."'>".$lang_menu['prefs']."</a>";
?>
'echo「{$lang_menu["prefs"]}」;' – 2013-07-26 11:12:12
我看到太多這樣的問題。花時間學習如何[解釋錯誤並修復代碼](http://jason.pureconcepts.net/2013/05/fixing-php-errors/)。 –