0

我的问题是下一个,我遇到了一些名字的麻烦。我的应用程序正在从数据库中取出一个团队的所有名称,然后我将它们放在一个链接(A href)中以通过 GET 玩家名称传递,然后对统计数据收费。代码如下:

$sele_t5 = "SELECT * FROM PLAYERS WHERE nom_team='$team' ORDER BY totalpoints DESC LIMIT 5;";
$sele_t5 = mysql_query( $sele_t5, $link );
while( $row = mysql_fetch_assoc( $sele_t5 ) )
                {
                    echo "<TR>";
                    echo "<TD ALIGN='CENTER'><A HREF='?player={$row['nombre']}'>".$row['nombre']."</A></TD>";
}

好吧,除了带有撇号的名字之外,这对所有玩家都很有效,例如:

乔。O'Brien 当我按下链接(显示全名正确)时,我得到了 Jo。o 在地址栏中,就像撇号正在切割动作。当我通过邮件发送带有撇号的名称时也会发生同样的情况,因此我将不胜感激任何解决此问题的方法。

谢谢和最好的问候,

4

1 回答 1

1

改变

echo "<TD ALIGN='CENTER'><A HREF='?player={$row['nombre']}'>"

echo "<TD ALIGN='CENTER'><A HREF='?player=" . urlencode($row['nombre']) . "'>"

但是,您应该真正阅读有关 MySQL-Injections 和 Cross-Site-Scripting 的内容,否则您遇到很大的安全问题。

于 2013-04-07T12:40:33.480 回答