0

我正在开发一个简单的博客引擎,但发现了一个巨大的错误。用户可以创建一个简单的博客文章并使用一个创建简短 iframe 代码的 javascript。这是一个例子:

<iframe width="640" height="510" src="http://www.youtube.com/embed/OMvFPp8dncU"
frameborder="0" allowfullscreen></iframe>

它将整个文本(发布文本和 youtubecode)发送到 mysql 服务器,它插入的字段是 varchar(255)。但是当它应该显示视频时,它会显示代码。我已经搜索并阅读了很多次代码以找出问题所在,但我找不到它。

这是显示帖子的“显示代码”:

<?php 
include_once('scripts/MySQL.php');

$sqlCommand = "SELECT id, title, text, date, publisher FROM news WHERE published='1' ORDER BY id 
ASC"; 
$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 

$menuDisplay = '';
while ($row = mysqli_fetch_array($query)) { 
$title = $row["title"];
$text = $row["text"];
$date = $row["date"];
$publisher = $row["publisher"];

$news .= '<table width="760" align="center">
<tr>
<td align="left"><h1>' . $title . '</h1></td>
</tr>
<tr>
<td align="left">
<p>
' . $text . '
</p>
</td>
</tr>
<tr>
<td align="left"><h6><b>Published: ' . $date . ' by ' . $publisher . '</b></h6><br /><hr></td>
</tr>
</table>';

} 
mysqli_free_result($query); 
?>

有人可以帮我找出问题所在并解释为什么它显示的是代码而不是视频,请 c:

这是屏幕截图的链接: 屏幕截图1

截图 2

4

2 回答 2

1

这看起来像是通过将数据插入 mysql 数据库而产生的问题。您可以尝试设置 $text 的 htmlspecialchars_decode 以获取原始 html 代码:

$text = htmlspecialchars_decode($row["text"]);
于 2013-06-13T14:00:33.460 回答
0

好的,我想通了。

改变:

' . $text . '

echo $text;

出于某种原因,它有所作为。

于 2013-06-13T14:53:16.060 回答