我从mysqli数据库中选择一个名称列表,然后使用if(isset($ _ GET ['name']))在display.php中显示行详细信息; 链接是
$str = strtoupper($str);
echo "<tr><td><a href='php/display.php?name=$str'>$str</a></td></tr>";
这将正确执行,除非名称中包含'(撇号)。
例如,$str
(作为输入/点击)显示为L'ECLIPSE
,但仅<a>
链接L'
display.php中的结果是“找不到符合您要求的数据”
我在此站点上找到了完全相同的查询,但是没有答案能解决我的问题。也许我执行不正确。 我认为这是逃跑。但是我对此一无所知。
答案 0 :(得分:1)
<?php
$str = strtoupper($str);
echo "<tr><td><a href='php/display.php?name=".urlencode($str)."'>$str</a></td></tr>";
urlencode()首先是字符串。这样您就不会遇到此类问题。
答案 1 :(得分:-1)
<?php
$str = strtoupper($str);
echo "<tr><td><a href='php/display.php?name=".$str."'>$str</a></td></tr>";
答案 2 :(得分:-1)
尝试此代码。
<?php
$str = strtoupper($str);
echo "<tr><td><a href='php/display.php?
name=".htmlspecialchars($str)."'>$str</a></td></tr>";
?>
您的单引号变为&#039;
希望对您有帮助
答案 3 :(得分:-1)
您必须使用text
它的作用是将所有特殊字符切换为相应的html
例如:
htmlspecialchars($str)
以此类推。