2010-11-21 57 views
0

在我的數據庫表我存儲一個PHP的問題

<script language="javascript"> alert('test') </script> 

但是當我把它打印出來使用echo命令我得到警報(「測試」)中的HTML代碼

&lt;script language=&quot;javascript&quot;&gt; alert('test') &lt;/script&gt; 

爲什麼腳本在加載頁面時沒有執行?

應該

`<script language="javascript"> alert('test') </script>` 

代碼

謝謝

+1

如果您*必須*將HTML代碼存儲在數據庫中,請將其存儲爲未編碼,或在出現時將其解碼。您需要用它們代表的實際字符替換HTML實體。 – 2010-11-21 05:49:10

回答

2

它不會執行。由於html實體,它現在被當作普通文本處理。嘗試html_entity_decode()

1

在mysql監視器中直接選擇它時,文本是什麼樣的?如果它是以引用的格式(& lt; etc ...),那麼在插入時你會做一些事情。 MySQL和PHP不會自動引用/轉義HTML實體。這將是你對數據做的事情。其他不要在插入時引用數據,或者在選擇時不要引用數據。