我在Phpmaker有一个问题,我不知道如何解决它。我创建了一个MySQL数据库(InnoDB)和一个PHPMaker接口,在那里我复制了IMDB网站生成的HTML代码,在这个url: www.imdb.com/plugins
这段代码给出了用户对电影的评分。我粘贴到我的textarea输入字段并保存。保存到MySQL列中的数据在代码中间接收一个<x>
。
这是原始(复制)代码,来自IMDB:
<span class="imdbRatingPlugin" data-user="ur21152180" data-title="tt3228904" data-style="p3">
<a href="http://www.imdb.com/title/tt3228904/?ref_=plg_rt_1">
<img src="http://g-ecx.images-amazon.com/images/G/01/imdb/plugins/rating/images/imdb_37x18.png" alt=" Empire (2015) on IMDb" />
</a>
</span>
<script>
(function(d,s,id){
var js,stags=d.getElementsByTagName(s)[0];
if(d.getElementById(id)){return;}
js=d.createElement(s);
js.id=id;
js.src="http://g-ec2.images-amazon.com/images/G/01/imdb/plugins/rating/js/rating.min.js";
stags.parentNode.insertBefore(js,stags);})
(document,'script','imdb-rating-api');
</script>
mysql上保存的内容:
<span class="imdbRatingPlugin" data-user="ur21152180" data-title="tt3228904" data-style="p3">
<a href="http://www.imdb.com/title/tt3228904/?ref_=plg_rt_1">
<img src="http://g-ecx.images-amazon.com/images/G/01/imdb/plugins/rating/images/imdb_37x18.png" alt=" Empire (2015) on IMDb" />
</a>
</span>
<s<x>cript>
(function(d,s,id){
var js,stags=d.getElementsByTagName(s)[0];
if(d.getElementById(id)){return;}
js=d.createElement(s);
js.id=id;
js.src="http://g-ec2.images-amazon.com/images/G/01/imdb/plugins/rating/js/rating.min.js";
stags.parentNode.insertBefore(js,stags);})
(document,'script','imdb-rating-api');
</script>
<x>
正插入<script>
标签的中间位置。
phpmaker在'script'字中插入< x >
。可能是出于安全考虑。
我已经解决了phpmaker10使用服务器端脚本的问题。
方法如下:
首先从左侧选择您想要的字段。我把它命名为(文本)。然后,单击名为:Code (Server Events, client Scripts ....)的选项卡然后在Server Events部分下,展开Table-Specific,展开Common,然后单击Row_Rendered。将当前代码替换为:
// Row Rendered event
function Row_Rendered() {
// To view properties of field class, use:
//var_dump($this-><FieldName>);
$string = $this->text->ViewValue;
$correctedText = str_replace("<x>","",$string);
$this->text->ViewValue = $correctedText;
}
还有其他方法,但这是其中之一。
PHPMaker将其视为安全威胁,因此您遇到了这个问题。您将需要使用转义字符进行转义,然后它将工作,但不建议作为标准做法,因为绕过允许将脚本代码插入到您的数据库中,这可能会危及数据及其安全专业。