2011-06-08 126 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"]当然只有第二天页面请求。

相关问题