从脚本值中分配php值

时间:2011-04-02 19:07:58

标签: php

我有一些代码

<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)下方;

2 个答案:

答案 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注入。