我是 PHP 新手,甚至是 SESSIONS 新手
我正在使用 Instagram API,我成功地授权了一个应用程序,并重定向到一个页面来显示内容。
我的主文件夹叫做 Monkey,它有一个叫做 Instagram 的子文件夹。
我的 instagram 回调 url 是位于 instagram 文件夹中的 success.php。当我从 Instagram 成功检索访问令牌时,它会重定向到 Monkey 文件夹中的索引文件。
在我的成功页面上,我正在创建一个充满数据的数组,称为 instaArray。我正在尝试将数组从 instagram 文件夹中的 success.php 传递到猴子文件夹中的 index.php。
我的重定向很简单
header( 'Location: ../index.php' );
因为我是新的会话,我想我做错了什么。我认为这是直截了当的,但我想不是哈。
在success.php页面上,在我构建了数组之后,我有了这个
session_start();
$_SESSION['instagram'] = $instaArray;
我认为应该创建一个包含我的数组 InstaArray 的会话。
然后,在 Monkey 的 index.php 页面上,我有这个
<?php
session_start();
$get_instagram = $_SESSION['instagram'];
print_r($get_instagram);
?>
但绝对没有任何反应。我什至尝试将会话 instagram 设置为简单的数值或 1,$_SESSION['instagram'] = 1; 并在索引页面上获取它,它也不起作用。
我在做一些可怕的、非常错误的事情吗?我已经阅读了会议,但因为它是新的,它仍然有点令人困惑。
感谢您的帮助,我希望我能够正确解释一切。
编辑:这是我的success.php完整页面
<?php
require 'src/db.php';
require 'src/instagram.class.php';
require 'src/instagram.config.php';
// Receive OAuth code parameter
$code = $_GET['code'];
// Check whether the user has granted access
if (true === isset($code)) {
// Receive OAuth token object
$data = $instagram->getOAuthToken($code);
// Take a look at the API response
$username = $data->user->username;
$fullname = $data->user->full_name;
$id = $data->user->id;
$token = $data->access_token;
$user_id = mysql_query("select instagram_id from users where instagram_id='$id'");
if(mysql_num_rows($user_id) == 0) {
mysql_query("insert into users(instagram_username,instagram_name,instagram_id,instagram_access_token) values('$username','$fullname','$id','$token')");
}
//Set Cookie
$Month = 2592000 + time();
setcookie(instagram, $id, $Month);
// Set user access token
$instagram->setAccessToken($token);
// Retrive Data
$instaData = $instagram->getUserFeed();
// Create Instagram Array
$instaArray = array();
$count = 0;
// For each Instagram Post
foreach ($instaData->data as $post) {
$instaArray[$count]['post_id'] = $post->id;
$instaArray[$count]['name'] = $post->user->username;
$instaArray[$count]['profile_img'] = $post->user->profile-picture;
$instaArray[$count]['img_url'] = $post->images->standard_resolution->url;
$instaArray[$count]['caption'] = $post->caption->text;
$instaArray[$count]['like_count'] = $post->likes->count;
$instaArray[$count]['comment_count'] = $post->comments->count;
$instaArray[$count]['created_time'] = $post->created_time; //Unix Format
$count++;
}
// Start Session For Array
session_start();
$_SESSION['instagram'] = serialize($instaArray);
header( 'Location: ../index.php' ) ;
} else {
// Check whether an error occurred
if (true === isset($_GET['error'])) {
echo 'An error occurred: '.$_GET['error_description'];
}
}
?>