【问题标题】:session variables not work after redirect facebook page重定向facebook页面后会话变量不起作用
【发布时间】:2014-02-16 06:46:35
【问题描述】:

这是我在 facebook TimeLine 上上传图片相关的以下代码,但我有问题 $_SESSION 变量在重定向表单 facebook 后不保留存储值。

<?php
session_start();
require 'facebook.php';

echo $_SESSION['uploadimage'] = $_POST['img_url'];
echo $_SESSION['return_url'] = $_POST['return_url'];


//die(); if I remove comment from die() function then session variable echo

// Create our Application instance (replace this with your appId and secret).
$facebook       = new Facebook(array(
    'appId' => 'xxxxxxxxxxx',
    'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
));
// Get User ID
$user           = $facebook->getUser();
$_SESSION['id'] = $user;
$loginUrl       = $facebook->getLoginUrl();
//$_SESSION['id'];
?>
<?php
// Login or logout url will be needed depending on current user state.
if (isset($_GET['upload'])) {
    echo "yes";
    if ($_SESSION['id']) {
        $facebook->setFileUploadSupport(true);
        $args = array(
            'message' => 'by http://thecodedeveloper.com'
        );
        copy($_SESSION['uploadimage'], 'tmp/file.jpeg');
        $args['image'] = '@' . realpath('tmp/file.jpeg');
        $data          = $facebook->api('/me/photos', 'post', $args);
        unlink('tmp/file.jpeg');
        //assigning users to tag and cordinates
        $argstag      = array(
            'to' => $user
        );
        $argstag['x'] = 40;
        $argstag['y'] = 40;
        $datatag      = $facebook->api('/' . $data['id'] . '/tags', 'post', $argstag);
        //  echo 'Success! Check your facebook wall now';
        header("Location:" . $_SESSION['return_url']);

    } else {
        header('Location:' . $loginUrl . '&scope=user_photos,publish_stream');
    }
}
?>

【问题讨论】:

    标签: php facebook session post facebook-php-sdk


    【解决方案1】:

    在您的 PHP 代码顶部添加 session_start();

    <?php
    session_start(); //<-- Here
    
    require 'facebook.php';
    

    【讨论】:

    • 我看到你刚刚添加了它。那么哪个会话值没有被存储?
    【解决方案2】:

    ob_start();
    session_start();
    需要'facebook.php';
    $img_url = isset($_POST['img_url'])?$_POST['img_url']:'';
    $return_url = isset($_POST['return_url'])?$_POST['return_url']:'';
    if(!empty($img_url){
    回声 $_SESSION['uploadimage'] = $img_url;
    }
    if(!empty($return_url)){
    回声 $_SESSION['return_url'] = $return_url;
    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多