私はPHPが初めてで、SESSIONSも初めてです
私は Instagram API を使用しており、アプリを正常に承認し、ページにリダイレクトしてコンテンツを表示できます。
私のメイン フォルダーは Monkey と呼ばれ、Instagram というサブ フォルダーがあります。
Instagram の私のコールバック URL は、instagram フォルダーにある success.php です。Instagram からアクセス トークンを正常に取得すると、Monkey フォルダーのインデックス ファイルにリダイレクトされます。
私の成功ページでは、instaArray というデータでいっぱいの配列を作成しています。Instagramフォルダーのsuccess.phpからmonkeyフォルダーの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'];
}
}
?>