以下代码给了我错误。
<?php
echo "<a href='prefs.php?username=$PHP_USER'>$lang_menu["prefs"]</a>";
?>
我很确定这与我请求 2 个 php 变量有关,不知道如何解决。
以下代码给了我错误。
<?php
echo "<a href='prefs.php?username=$PHP_USER'>$lang_menu["prefs"]</a>";
?>
我很确定这与我请求 2 个 php 变量有关,不知道如何解决。
用。。。来代替
<?php
echo "<a href='prefs.php?username=".$PHP_USER."'>".$lang_menu['prefs']."</a>";
?>
$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>";
?>
显然,您不能在双引号字符串中写入未转义的双引号。我建议不要将未转义的文本写入 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 中的 text。