php - 除非我点击刷新,否则重定向的 PHP 页面不会加载

标签 php mysql facebook

早上好,我终于设法在 Facebook 登录后将 Facebook 用户名存储在我的数据库中。唯一的问题是需要重新加载 Facebook 登录后用户重定向到的页面(我第一次得到的只是一个空页面)。您能否引用我之前的问题,因为我已经发布了所有代码 there

更新:我注意到页面只需要第一次刷新(当用户信息尚未存储在数据库中时,它会快速而漂亮地加载页面。请帮助!;-)

UPDATE2:有没有办法在添加新用户后自动刷新页面(仅一次)? 非常感谢!

更新 3:我发布了代码......它仅在我刷新页面时有效......有什么想法吗?

        <?php

          mysql_connect('host', 'username', 'password');  
           mysql_select_db('table');  



require 'library/facebook.php';

    // Create our Application instance 
   $facebook = new Facebook(array(
    'appId'  => 'MYID',
   'secret' => 'MYSECRET',
  'cookie' => true));


// Get User ID
 $user = $facebook->getUser();



   if ($user) {
     try {
   // Proceed knowing you have a logged in user who's authenticated.
   $user_profile = $facebook->api('/me');



   } catch (FacebookApiException $e) {
   error_log($e);
   $user = null;
   }
     }else{
   header('location: index.php');

    }
      $query = mysql_query("SELECT * FROM users WHERE oauth_provider = 'facebook' AND       oauth_uid = ". $user_profile['id']);  
      $result = mysql_fetch_array($query);  

    if(empty($result)){ 
      $query = mysql_query("INSERT INTO users (oauth_provider, oauth_uid, username)         VALUES ('facebook', {$user_profile['id']}, '{$user_profile['name']}')");  
       $query = msyql_query("SELECT * FROM users WHERE id = " . mysql_insert_id());  
      $result = mysql_fetch_array($query);  

       }  



    if ($user) {
     $paramsout = array('next'=>'http://www.mywebsite/test/logout.php');
     $logoutUrl = $facebook->getLogoutUrl($paramsout);
     }


     ?>

更新 4*****:我找到了解决方案。你可以看看我下面的回答。感谢大家。

最佳答案

当 facebook 使用 next 或重定向 URL 重定向时,它会发送 api 获取的帖子数据,但是当您手动重定向页面时,它不会获取 facebook 帖子数据,因此 else condition header('location: index.php'); 被执行并且你被正确地重定向..

第一次的问题是因为它通过了 else 条件并转到 sql 插入新记录,之后他们没有重定向..所以你需要把 header('location: index. php'); 最后在数据库中插入用户记录后重定向它

希望对你有帮助

关于php - 除非我点击刷新,否则重定向的 PHP 页面不会加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10570047/

相关文章:

php - Laravel 5.4 存储链接

php - laravel动态连接多个数据库

php - Mysql 获取所有行并回显为 json

php - 如何计算匹配查询的行数,但只返回 SQL 中的一个子集?

facebook - 如何下载 Facebook 回顾视频?

php - 如何检测传入的聊天消息?

MySQL查询跳转记录

mysql - DATEDIFF() 函数

facebook - Instagram 正在使访问 token 失效。我以为他们没有?

android - 从 Expo 添加 Facebook 广告时,React Native 按钮不起作用