textarea帖子得到不同的结果,有没有“\”?

时间:2013-08-08 01:09:28

标签: php

textarea帖子在有或没有“\”的情况下得到不同的结果?

相同的代码在不同的pc上运行,得到不同的结果

我的systerm是xp,我发布textarea并打印它,结果有“\”befror',但是我在其他人的pc上运行它,结果没有返回“\”。
这个不同的结果导致当我插入mysql时,当sql没有“\”时返回错误 为什么会这样?怎么解决?

<pre>
<?php
print_r($_POST);
 ?>
</pre>
<form method="post">
    <textarea name="content" id="" cols="30" rows="10">This is kate's book</textarea>
    <input type="submit" />
</form>

在我的电脑中,获取:

this is kate\'s book

在其他人中,得到:

this is kate's book

添加htaccess就可以了

php_flag magic_quotes_gpc 1

2 个答案:

答案 0 :(得分:3)

这里的问题来自php.ini中的magic_quotes_gpc设置。你必须把它关掉:这件事是纯粹的邪恶(并且已弃用)。它会自动“逃避”您的数据。

但是,您仍希望将其转义。最好的方法是使用PDO和准备好的请求。

答案 1 :(得分:1)

您和朋友的计算机之间的php配置可能不同。尝试使用php函数stripslashes。

$var = stripslashes($another_var);