我有一些代码
<script>
FB.Event.subscribe('auth.login', function(response)
{
FB.api('/me', function(response) {
alert(response.id);
});
</script>
出现警告屏幕并显示我想要的值(响应ID)。但我想将这个值分配给一个名为$ id的php值我知道如何做到这一点,但因为值在脚本中它不会工作,我尝试在下面的代码中添加没有成功
</script> <?php $id ?> <script> response.id </script> <?php ; ?> <script>
此代码添加在警报(response.id)下方;
答案 0 :(得分:2)
如果要在服务器端使用该值,唯一的方法是使用AJAX将其发送到服务器,然后将其存储在数据库中或执行某些操作。
你可以做这样的事情
<script>
FB.Event.subscribe('auth.login', function(response)
{
FB.api('/me', function(response) {
$.ajax({ type: "POST", url: "save-fb-id.php",data: {id: response.id} });
}
});
</script>
忘记提及这是jQuery实施
在PHP脚本中执行以下操作:
<?php
$fbID = $_POST['id'];
save_to_db($fbID);
?>
答案 1 :(得分:0)
PHP代码由服务器在将页面发送到客户端之前执行。脚本标记中的任何内容都由客户端执行。为了将值发送回PHP,您必须将某种请求提交回服务器 - 它可能是超链接(a href='page.php?id=whatever
),具有隐藏值的表单,ajax请求等
要将值添加到数据库,您需要一个php页面(例如mypage.php)来插入您的条目,例如
if (isset($_GET['insertme'])) {
mysql_query("INSERT INTO myidtable (id) VALUES ('{$_GET['insertme']}')");
}
在你的脚本中,找到某种ajax函数并向mypage.php发送请求?insertme = myid,其中mypage是你的数据库插入页面,myid是你要插入的id。
请注意,将$ _GET中的值直接插入数据库是不安全的 - 您需要先过滤掉单引号以防止sql注入。