我有一个javascript变量,它包含一些信息,我想要在PHP变量中分配。这是我正在使用的:
<script type="text/javascript">
function redirectToFacebook()
{
var facebookMessage = encodeURI(document.getElementById('txt_msg').value);
}
</script>
<?php
$_SESSION['sess_facebook_message'] = facebookMessage;
?>
任何帮助都非常有用。
提前致谢
答案 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。