2017-04-01 32 views
0
<?php 
echo "Value: " .$_GET['val']. "<script>document.write('<?php echo 'It does not work!'; ?>'); </script>";?> 

上面的代碼裏面沒有給出輸出,而下面的代碼運行良好,我缺少上面的代碼是什麼?PHP代碼不能在裏面工作javascript

<script>document.write('<?php echo 'It works!'; ?>'); </script> 
+0

你沒有關閉你的第一個PHP標籤,所以php看到第二個<? Php說正常文本 – melvin

+0

已經做到了!但沒有工作@melvin –

+0

<?php echo「Value:」。$ _ GET ['val']。 「」;?>無論你想要的文本是什麼變種 – melvin

回答

0

你這樣的客戶端和服務器端之間的混合被認爲是一個貧窮的編程習慣。

但是,您不能在另一個php標記中使用php標記。

這一行:

echo "Value: " .$_GET['val']. "<script>document.write('<?php echo 'It does not work!'; ?>'); </script>";?> 

必須如下:

echo "Value: " .$_GET['val']. "<script>document.write(" . 'It does not work!' . "); </script>";?> 

或乾脆直接打印字符串的javascript:

echo "Value: " .$_GET['val']. "<script>document.write('It does not work!'); </script>";?> 
+1

hassan - 你最後一個例子會失敗,因爲你正在關閉雙引號,然後繼續你的字符串 – MaggsWeb

+0

你是對的,我已經修復它 – hassan

0

你不需要打開 'PHP'兩次..

或'echo'兩次。

所以,只留下具有正確順序的引號組。

echo "Value: " .$_GET['val']. "<script>document.write('It does work!'); </script>"; 
    ^.......^    ^--------------------------------------------------^ 
                 ^-------------^