这个问题很让我郁闷,看如下代码:
<?php
if ($_POST['textfield'])
{
$tmp = $_POST['textfield'];
echo $tmp;
}
?>
<form id="form1" name="form1" method="post" action="">
<p>
<textarea name="textfield" rows="10"></textarea>
</p>
<p>
<input type="submit" name="Submit" value="提交" />
</p>
</form>
很简单的一个表单提交,没有什么问题吧,可是,当我输入一个双引号 " 里,点提交,显示的是却是 /"
会自动在前面加一个斜杠, 同样的情况还出现在输入 / 和 ' 的时候。
这些都是特殊字符,这个我了的
还请各位帮忙解释一下,谢谢了
如果我只想得到 " 而不要不是带杠的,应该怎么做?
谢谢几位网友的提醒:我知道了!
以下是搜来的资料:
Magic Quotes在处理用户文件输入时非常好用。当这个选项开启之后(位于你的php.ini文件中)它将会把所有的单引号和双引号区分开,也可以将NULL字节从用户的输入信息中分开。当开启MagicQuote时的一个问题是你是否希望你的用户进行引号过滤。如果你关闭MagicQuote的话可以在“runtime”中分析到用户输入数据的字符串。
如果你对PHP还不熟悉,我建议你开启这一功能直到你学会了怎么样分析和表现用户输入的数据。我个人建议使用我编写的“清除”功能。我将会给你提供一个模板,这样你就可以自己编写一个清除功能了。
[table=95][tr][td] <?php
function clean($string)
{
$string = stripslashes($string);
$string = htmlentities($string);
$string = strip_tags($string);
return $string;
}
?>
[/td][/tr][/table]
如果你的用户正在提交一个需要用户名验证的form时,你可以使用如下的功能:
[table=95][tr][td] <?php
$username = $_POST[username];
echo clean($mystring);
?>
[/td][/tr][/table]
对于这个MagicQuote来说,有3种指令来实现。你可以参考php.net网站或是php manual。这三种指示基本上就是magic_quotes_gpc,这些用来处理访问请求(get,post,cookies)。 magic_quotes_runtime用来处理文件和数据库,外部文件。第三种就是magic_quotes_sybase,如果它被激活的话就会直接废掉magic_quotes_gpc。
<?php
if ($_POST['textfield'])
{
$tmp = $_POST['textfield'];
echo $tmp;
}
?>
<form id="form1" name="form1" method="post" action="">
<p>
<textarea name="textfield" rows="10"></textarea>
</p>
<p>
<input type="submit" name="Submit" value="提交" />
</p>
</form>
很简单的一个表单提交,没有什么问题吧,可是,当我输入一个双引号 " 里,点提交,显示的是却是 /"
会自动在前面加一个斜杠, 同样的情况还出现在输入 / 和 ' 的时候。
这些都是特殊字符,这个我了的
还请各位帮忙解释一下,谢谢了
如果我只想得到 " 而不要不是带杠的,应该怎么做?
谢谢几位网友的提醒:我知道了!
以下是搜来的资料:
Magic Quotes在处理用户文件输入时非常好用。当这个选项开启之后(位于你的php.ini文件中)它将会把所有的单引号和双引号区分开,也可以将NULL字节从用户的输入信息中分开。当开启MagicQuote时的一个问题是你是否希望你的用户进行引号过滤。如果你关闭MagicQuote的话可以在“runtime”中分析到用户输入数据的字符串。
如果你对PHP还不熟悉,我建议你开启这一功能直到你学会了怎么样分析和表现用户输入的数据。我个人建议使用我编写的“清除”功能。我将会给你提供一个模板,这样你就可以自己编写一个清除功能了。
[table=95][tr][td] <?php
function clean($string)
{
$string = stripslashes($string);
$string = htmlentities($string);
$string = strip_tags($string);
return $string;
}
?>
[/td][/tr][/table]
如果你的用户正在提交一个需要用户名验证的form时,你可以使用如下的功能:
[table=95][tr][td] <?php
$username = $_POST[username];
echo clean($mystring);
?>
[/td][/tr][/table]
对于这个MagicQuote来说,有3种指令来实现。你可以参考php.net网站或是php manual。这三种指示基本上就是magic_quotes_gpc,这些用来处理访问请求(get,post,cookies)。 magic_quotes_runtime用来处理文件和数据库,外部文件。第三种就是magic_quotes_sybase,如果它被激活的话就会直接废掉magic_quotes_gpc。
329

被折叠的 条评论
为什么被折叠?



