如何将javascript变量分配给PHP变量?

时间:2010-09-14 12:41:03

标签: php javascript

我有一个javascript变量,它包含一些信息,我想要在PHP变量中分配。这是我正在使用的:

<script type="text/javascript">
function redirectToFacebook()
{
    var facebookMessage = encodeURI(document.getElementById('txt_msg').value);
}
</script>

<?php
    $_SESSION['sess_facebook_message'] = facebookMessage;
?>

任何帮助都非常有用。

提前致谢

4 个答案:

答案 0 :(得分:2)

因为PHP在服务器上运行,而客户端中运行JavaScript,所以在JavaScript使用它之后无法设置PHP会话变量,因为PHP在页面被发送之前已经完成了执行。

...然而

如果您使用JavaScript向设置变量的PHP脚本发出请求(AJAX,imagehack或其他),则可以。

例如......

JavaScript的:

function something() {
    // do something with somevar
    somevar = 'content';
    // make an AJAX request to setvar.php?value=content
}

PHP:

$_SESSION['somevar'] = $_GET['somevar'];

请确保将客户端生成的数据的安全问题考虑在内。

答案 1 :(得分:0)

如果要将变量从浏览器(javascript)传递到后端服务器(PHP),则需要:

1)加载一个新页面,其中Javascript参数编码为POST或GET 2)异步调用PHP脚本(AJAX调用),将参数编码为POST或GET

使用GET请求的简单示例(您只需将参数附加到URL):

<script>
    window.location = '/some-url?' + document.getElementById('text_msg').value;
</script>

您可能希望将这段代码分配给按钮或其他内容......

答案 2 :(得分:0)

由于API限制,您无法实现的目标。它没有提供。

答案 3 :(得分:-1)

可能是你可以尝试使用javascript重定向并将变量从php传递给js。他们这样做,它无法奏效。

可能是,我真的不舒服 试试这个。

<?php
function redirectToFacebook() { 

var facebookMessage = ?>
<script>
    document.write(encodeURI(document.getElementById('txt_msg').value)); 
</script>
<?php
}
?>

或使用cookies。