0

我有一个 Javascript 变量screenName供 Twitter 用户使用。当他们连接到我的网站时,我想要一个 php 脚本将他们的名字写在一个 txt 文件中。我怎么能这样。我研究过用 AJAX 编写文件,但没有运气。

<script type="text/javascript">

twttr.anywhere(function (T) {
    var currentUser,
        screenName,
        profileImage,
        profileImageTag;
    if (T.isConnected()) {
        currentUser = T.currentUser;
        screenName = currentUser.data('screen_name');
        $('#twitter-connect-placeholder').append("<p style='color:white;text-shadow:none;'>Howdy " +" " + screenName + "!");
        var screenName = "<?= $js ?>";
    } 
});
</script>

<?php
$check = $_GET['track'];


if ($check == '1') {
    $fp = fopen('data.txt', 'a');
    fwrite($fp, "{$js}");
    fclose($fp);
}
?>

如果查看源screenName等于“”

对此有什么想法吗?

4

1 回答 1

1

为了解决这个问题,您需要了解 PHP 是在服务器端执行的,页面发送给用户之前,而 Javascript 是在客户端执行的,在用户的浏览器中,即之后PHP 代码。显然,您需要事件以相反的顺序发生。示例实现如下:

使用 jQuery,您可以执行以下操作:

if (T.isConnected()) {
    var currentUser = T.currentUser;
    var screenName = currentUser.data('screen_name');
    $.post(
        '/writename.php',      // request url
        {'name' : screenName}, // POST data
        function() {           // optional callback
            alert("done!");
        }
    );
}

而且,在你的writename.php

if ($_POST['name']) {
    $fp = fopen('data.txt', 'a');
    fwrite($fp, $_POST['name']);
    fclose($fp);
}
于 2012-07-07T08:41:01.990 回答