2013-01-08 136 views
-7

我的印象是,由於JavaScript是客戶端,PHP是服務器端,因此無法從JavaScript調用PHP;但是,此代碼段的作品:從JavaScript調用PHP方法

<script> 
    function otherCourse(){ 
    var course = prompt("prompt?"); 
    document.write(" 
     <?php 
     $con->query("INSERT INTO `Courses` (`Name`) VALUES ('blah')"); 
     ?> 
    "); 
    } 
</script> 

爲什麼這樣嗎?該條目被插入到數據庫中

+2

當然你錯了,這是不可能的,重新檢查一切 –

+0

我再次測試它,我不知道它是如何工作的,但入口進入數據庫! – Fractaly

+0

** http://php.net/language.basic-syntax.phpmode** - 請檢查編輯工具,您可以非常輕鬆地粘貼代碼,嘗試CTRL + K. – hakre

回答

4

您的PHP正在從服務器端執行。您嵌入JavaScript中的PHP實際上並不會實現任何渲染。

通過刪除對otherCourse函數的任何調用來進行測試,您將看到查詢仍在運行。

+0

即使未調用該函數,它也會運行。所以它簡單地把它解釋爲php代碼,儘管它裏面有一個javascript函數? – Fractaly

+1

@Fractaly - 是的。在PHP文檔中,任何包裝在PHP標籤('<?php/* code * /?>')中的代碼都將以PHP的形式運行,無論你放在哪裏。 –

0

您的PHP在服務器上執行之前,該JavaScript甚至到達客戶端。

+0

這不是一個答案,而是一個評論。 – lichengwu