数据库问题的HTML输出

时间:2015-07-21 19:07:54

标签: php html mysql output

我正在通过htmlspecialchars()运行CKEditor TextArea WYSIWYG字段并将其转储到数据库中。

然后我在数据库中获取该字段,并将HTML输出到屏幕。是什么原因导致输出HTML而不是实际使用HTML进行标记?

数据转储代码:

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

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

    $sql = "INSERT INTO tickets (ticket_text) VALUES(:ticketBody)";
    $stmt = $conn->prepare($sql);
    $stmt->bindParam(':ticketBody', $ticketBody, PDO::PARAM_STR);
    $stmt->execute();

}

通过数据循环

foreach ($rows as $row) {
    <?php echo $row['ticket_text']; ?>
}

输出的截屏视频: http://screencast.com/t/wbUUS3OrW

注意:htmlspecialchars_decode添加到我的echo语句有效但将我的文字变为白色!我不确定为什么 - http://screencast.com/t/JgJMaoCdyuTM

strip_tags()功能也不起作用。

1 个答案:

答案 0 :(得分:0)

使用 mysqli_real_scape_string 而不是 html_special_chars 这将在您的数据库保持安全的同时维护您的html代码和特殊字符,如果是这样,您可以在下一个链接中找到文档。

For you security don't click here, never!!