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 を設定して元の html コードを取得する htmlspecialchars_decode を試すことができます。

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

わかりました、私はそれを理解しました。

変化する:

' . $text . '

echo $text;

なぜか違いが出ます。

于 2013-06-13T14:53:16.060 に答える