Php 在数据库中保存javascript代码

Php 在数据库中保存javascript代码,php,mysql,sql,Php,Mysql,Sql,我有一个非常恼人的问题与主机的知名公司然而 我有一个网站,在它的后端有一个表单,它有textarea字段,当我提交时,它应该是googleadsense代码的字段,它根本没有响应,一直在加载 但是当我键入其他内容时,adsense ads code被接受了,所以我注意到它不允许html 表格代码 <form method=post action="1.php" name="adsense" id="adsense"> The Code : <textarea id="ad"

我有一个非常恼人的问题与主机的知名公司然而

我有一个网站,在它的后端有一个表单,它有
textarea
字段,当我提交时,它应该是
googleadsense代码的
字段,它根本没有响应,一直在加载

但是当我键入其他内容时,adsense ads code被接受了,所以我注意到它不允许html

表格代码

<form method=post action="1.php" name="adsense" id="adsense">

The Code : <textarea id="ad" name="ad">Put your code here</textarea>

<input type="submit" name="submit" value="Save">

</form>
<?PHP

include "header.php"; // connect to db

if(isset($_POST[submit])){

$qma = "update webads set
ad = '$_POST[ad]'";

$rma = mysql_query($qma) or die(mysql_error());
echo 'Thanks';

}

?>
下面是不可接受的
googleadsense代码的示例

<script type="text/javascript">
google_ad_client = "pub-0000000000000000";
google_ad_width = 250;
google_ad_height = 250;
google_ad_format = "250x250_as";
google_ad_type = "text";
google_ad_channel = "0000000000";
google_color_border = "FFFCE1";
google_color_bg = "FFFCE1";
google_color_link = "FFFCE1";
google_color_text = "FFFCE1";
google_color_url = "FFFCE1";
</script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
那么,你知道如何拯救它吗!但它必须很容易回忆起来而不被改变

我不知道它是否愚蠢,但如果我没有得到任何答案如何做,在保存它之前一直在想
base\u 64编码器
,然后当我回叫它时将
base\u 64解码
它,但这听起来是我最后的希望


非常感谢

在将数据存储到数据库之前,您必须使用
htmlentities
。 并且不能在字符串中使用函数

$ad = htmlentities($_POST['ad']);
另外,在使用
addslashes
时,最好首先检查它是否由服务器配置自动启用,而不是过度引用字符串。看


在将数据存储到数据库之前,必须使用
htmlentities
。 并且不能在字符串中使用函数

$ad = htmlentities($_POST['ad']);
另外,在使用
addslashes
时,最好首先检查它是否由服务器配置自动启用,而不是过度引用字符串。看


您需要为MySQL转义posted变量——最好的方法是使用PHP的内置函数,因为它可以正确地为您的MySQL版本转义

$qma = "update webads set ad = '" . mysql_real_escape_string($_POST[ad]) . "'";

您需要为MySQL转义posted变量——最好的方法是使用PHP的内置函数,因为它可以正确地为您的MySQL版本转义

$qma = "update webads set ad = '" . mysql_real_escape_string($_POST[ad]) . "'";

或者,您可以使用

$ad = htmlspecialchars($_POST['ad']);

$qma = "update webads set ad = '$ad'";

或者,您可以使用

$ad = htmlspecialchars($_POST['ad']);

$qma = "update webads set ad = '$ad'";

当我使用MySQL Workbench时,我会做一些类似于更新webads集的事情 ad='$\u POST[ad]'
由于安全模式,它会抛出一个错误。我的SQL查询没有ID。可能安全模式已打开

如果您想绕过它,只需添加
WHERE ID!=-1
但我不建议这样做


不要忘了清理输入。

当我使用MySQL Workbench时,我会执行类似于更新webads集的操作 ad='$\u POST[ad]'由于安全模式,它会抛出一个错误。我的SQL查询没有ID。可能安全模式已打开

如果您想绕过它,只需添加
WHERE ID!=-1
但我不建议这样做


别忘了清理你的输入。

我认为应该是:ad1=addslashes($\u POST[ad1])。这就是你的意思…对吗?如果(isset($\u POST[s1])是从哪里得到s1的,我想应该是:ad1=addslashes($\u POST[ad1])。这就是你的意思…对吗?如果(isset($\u POST[s1])从你得到的信息,猜猜看!我尝试了所有的方法,但仍然没有工作,但我注意到,如果我输入像这样的xxx,它不会保存它!!所以这可能是指托管公司本身。。它是godaddy,付费而非免费托管:(你知道这样的问题吗?)你应该避免将包含html标记的数据写入数据库,尤其是
script
,所以如果你转义html实体,一切都会好起来。下次当你需要反向函数时,我的意思是当你必须输出代码时,你可以使用
html\u entity\u decode
:猜猜看!我尝试了所有的方法仍然不工作,但注意到,如果我输入类似xxx的内容,它也不会保存它!!因此它可能是指托管公司本身..它是godaddy,并不是免费托管:(你知道这样的问题吗?)你应该避免将包含html标记的数据写入数据库,尤其是
script
,所以如果你转义html实体,一切都会好起来。下次当你需要反向函数时,我的意思是当你必须输出代码时,你可以使用
html\u entity\u decode
:猜猜看!我尝试了所有的方法仍然不工作,但注意到,如果我输入类似xxx的内容,它也不会保存它!!因此它可能是指托管公司本身..它是godaddy,并不是免费托管:(你知道这样的问题吗?它根本不保存任何东西吗?或者只是去掉标签?这可能是某种安全措施,但我不希望在付费主机上使用它。尝试编写sql语句来插入它,看看是否有效。
$qma=“update webads set ad='TEST'”
$qma=“update webads set ad='TEST'”没有保存它,在多次尝试后,我发现如果输入文本为或从未保存,请继续加载,然后说页面未找到..是的,我认为这是一种安全措施,所以我要试试我的运气,
$ad=base64\u encode($\u POST['ad']);
然后尝试更新它。天哪,即使
base64\u encode()
它没有保存它!!它只有在我剥离
之后才保存!!非常讨厌的托管,甚至在我的生活中看到过你猜怎么着!我尝试了所有的方法,但仍然没有工作,但注意到,如果我输入类似xxx的东西,它也不会保存它!!所以它可能是指托管公司本身..它是godaddy,不是free主机:(你知道这样的问题吗?)它根本不保存任何东西吗?或者只是去掉标签?这可能是某种安全措施,但我不希望它出现在付费主机上。尝试编写sql语句来插入它,看看是否有效。
$qma=“update webads set ad='TEST'”
$qma=“update webads set ad='TEST'”
不保存它,在多次尝试后,我发现如果输入文本为或从未保存,请继续加载,然后说页面未找到。是的,我认为这是一种安全措施,因此我将尝试使用
$ad=base64_encode($\u POST['ad'])试试运气
然后尝试更新它。哦,我的上帝,即使
base64\u encode()
它没有保存它!!它是在我剥去
之后才保存的!!非常讨厌的hos