2013-02-18 71 views
-2

我有我的PHP代碼中裏面的Javascript PHP代碼不顯示

var_dump($var); 

$var =' 
<script type="text/javascript"> 
    '.$var.' 
</script>' 
; 

var_dump($var); 

第一var_dump正確顯示一定的價值,但第二個顯示爲空字符串。

Exemplary output

說明:未定義變量:VAR在/代碼/ IdpgMo上線
NULL
說明:未定義變量:VAR在/代碼/ IdpgMo on line
string(50 ) 「」 PHP注意:未定義的變量中:var在/代碼/ IdpgMo上線3 PHP說明:未定義變量:VAR在上線/代碼/ IdpgMo

爲什麼會這樣?

+6

右鍵 - 查看源代碼 – 2013-02-18 17:39:49

+0

您可能需要轉義該變量。 – mtk 2013-02-18 17:41:52

+0

空串?在引號前的括號內你肯定會看到一個零嗎? – hakre 2013-02-18 17:42:25

回答

3

這是因爲您的瀏覽器正在處理它,就像它是一個腳本。 腳本未顯示,因此腳本未在屏幕上顯示

+0

謝謝,我現在明白了 – user1611830 2013-02-18 17:43:33

+0

@ user1611830:那麼如何顯示它呢? – hakre 2013-02-18 17:45:53

3

可能是因爲您將Content-Type標題保留爲默認值,並且文檔正在以HTML格式處理。

腳本元素在頁面上沒有可見的效果。

你可以看到數據:

  • 寫作JS,將暴露的數據(你必須確保它在語法上是有效的JS雖然)。
  • 使用DOM檢查
  • 收視源
  • 添加header('Content-Type: text/plain');到PHP。
0

看看HTML頁面的源代碼,如果用var轉儲這應該涉及到JavaScript語法

0

你可能會看到這樣的事情正確顯示:

字符串(48)「」

這是因爲Web瀏覽器正在理解腳本標記並對其進行處理,而不是顯示文本。

如果你希望能夠看到文本,使用htmlentities函數,因此,在特定HTML字符被轉換,而不是通過瀏覽器理解爲標籤:

print htmlentities($var);