2012-11-18 154 views
-1

起初,我有此腳本PHP獲取JavaScript變量的值

<head> 
    <script type="text/javascript"> 
     function test(work){ 
      document.getElementById("php_code").innerHTML="<?php 

      *$job = work;* 

      $sql="INSERT INTO event (id, name, job, status) 
      VALUES 
      ('','$_SESSION[username]','$job','not verified')"; 
      $result = mysql_query($sql); 
      ?>"; 
     } 
    </script> 
</head> 

<body> 
    <button onclick='test(job1)'>&nbsp&nbsp Add &nbsp&nbsp</button> 
</body> 

我需要從JavaScript傳遞工作價值$工作在PHP。

任何想法?

+3

那麼首先它是錯誤的將內置的JavaScript代碼,現在至於你的問題,你需要使用'AJAX'爲此,我強烈推薦jQuery爲該http://api.jquery.com/jQuery.ajax/ – Linas

+2

[請了解客戶端和服務器端之間的區別](http://www.youtube.com/watch?v=DcBB2Fp8WNI)。 – Incognito

+0

歡迎來到StackOverflow。當然你是新的 - 請回顧[The Guidelines](http://www.stackoverflow.com/faq) –

回答

2

Javascript(在本例中)存在於您的瀏覽器中。 PHP駐留在服務器端。這兩種語言不能直接相互作用。在瀏覽器甚至看到頁面內容之前評估PHP。

您可以使用AJAX請求將信息發送到服務器,然後由服務器端的PHP處理該信息。我強烈建議使用正確的Javascript庫來處理AJAX請求,例如jQuery或其中一種選擇。

另一種可能性是提交一個表單,將信息發送到服務器端,PHP按照建議的那樣處理它。

+0

所以不可能在沒有AJAX的情況下在javascript和PHP之間傳遞數據。 感謝您的回答和快速回復 – Ret4555

+0

從Javascript到PHP;是。從PHP到Javascript,您可以動態地使用您想要傳遞的值生成JavaScript,但只有在第一次生成頁面時纔會生效。記得接受答案,順便說一句:-) – MatsLindh