2011-06-08 118 views
0

可能重複:
Using a javascript variable to set PHP variable有沒有辦法通過JavaScript來設定一個PHP變量

我需要做這樣的事情

<script type="text/javascript" charset="utf-8"> 
    '<?php $something; ?>' = $(".product_calculation").val(); 
</script> 

<?php 
    print "from js" . $something; 
?> 

所以我需要設置一個變量,然後在我設置它後直接在php下使用它

+0

爲什麼你需要這樣做? PHP在您的服務器上運行,然後設置到運行JavaScript的瀏覽器。也許你可以使用AJAX或cookie來將值發送到PHP腳本? – 2011-06-08 20:41:42

回答

8

不,你不能。 PHP由您的服務器執行。 jQuery後來被客戶端。
你可以做的是帶有params的AJAX請求。

+0

+1 @ yes123老實說,我沒有期待你的正確答案:) – Tadeck 2011-06-08 20:43:57

+0

@Tadeck:哈哈我知道你在那裏很諷刺。無論如何,謝謝 – dynamic 2011-06-08 20:44:38

+0

我會在哪裏做ajax請求,在PHP或JavaScript ....基本上我有一個頁面上的ID,我需要通過PHP使用該ID – Trace 2011-06-08 20:45:43

2

簡答:不需要長答案:是的。

由於PHP在服務器上運行並且jQuery在客戶端上運行(在PHP已經完成之後),所以不能通過jQuery直接影響PHP變量。但是如果你真的需要的話,只要這些變量可以以某種方式維護(會話,數據庫,平面文件等),以便在下次腳本運行時,就可以對服務器進行AJAX調用以設置變量值被檢索。

0

您將需要執行ajax將變量傳遞迴服務器。當代碼在服務器上生成時,它會在服務器沒有聯繫的客戶端上執行,直到發出請求。有關jQuery實現的信息,請參閱:http://api.jquery.com/jQuery.ajax/

0

PHP執行服務器端並輸出HTML和Javascript。 JavaScript在客戶端的瀏覽器上執行。這是不可能的。

你可以做的是用JavaScript設置表單元素或參數,然後將其傳遞給PHP進行設置。或者像其他人所建議的那樣使用AJAX。

0

PHP變量僅存在於Web服務器中。一旦PHP被分析並執行,生成的HTML將被髮送到您的瀏覽器。結果頁面將包含您的JavaScript,然後在瀏覽器的上下文中運行。所以,不,你要求做的事情是不可能的。

0

不是那樣。但有各種選項可以將JS變量傳遞給PHP。 (除非你有一個PHP應用程序服務器,否則可變交換的直接RPC連接似乎是不可行的)。

什麼,你通常可以利用卻是一個cookie:

document.cookie = "something="+$(".product_calculation").val(); 

所以它不會成爲PHP $something,但$_COOKIE["something"]當然只有第二天頁面請求。

相關問題