首先,我必须提一下。我是php新手,所以请理解我。
我有一个困难的形式..
<form action="something.php" method="get">
<input type="text" name="something">
<input type="submit" value="send">在"something.php“中,我有这行代码:
<?php
$something = $_GET["something"];
?>当我以html格式编写代码时,例如<a href="#">asdqw</a>,它会准确地向我显示代码...
理解我..。我是新手,我想学习..
我想编码,如果有人写了< , > , $ , ^等字符,并显示其他东西,因为我不想影响我自己。
我想提一下,我使用的是and数据库。我在表单中写的内容将保存在数据库中,并将显示在另一个页面中,但会显示在url栏中,如:"http://some-site.com/page.php?something=something“。我希望能理解我,并原谅我的粗鲁言辞。我是罗马尼亚人,我不想使用翻译器。
发布于 2013-08-20 03:45:37
使用htmlspecialchars()
$something = htmlspecialchars($_GET['something'], ENT_QUOTES | ENT_HTML5);您应该使用此方法在HTML上下文中输出数据。
如果您希望将数据保存到数据库中,则应该使用MySQLi and Prepared Statements或PDO。
下面是一个非常好的答案,显示了有关预准备语句/PDO和MySQLi::real_escape_string()的边缘情况的重要信息:SQL injection that gets around mysql_real_escape_string()
https://stackoverflow.com/questions/18321838
复制相似问题