0
안녕하세요 저는 첫 번째 앱을 통해 facebook 앱 개발과 새로운 작업을하고 있습니다. 내 앱의 흐름은 첫 페이지가 사용자가 페이지를 좋아하는지 여부를 확인하는 방문 페이지이며, 사용자가 이미 페이지를 좋아한다면 사용자를 다음 페이지로 리디렉션하는 것과 같습니다.세션 객체가 변수를 반환하지 않습니다.
$ signed_request 객체가 첫 방문 페이지에서 검색되었지만 앱 전체에서 사용될 것이므로이 변수를 $ _SESSION [] 객체를 통해 다음 페이지로 전달하려고하지만 다른 페이지에서 검색 할 수 없습니다. .
<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
…
</head>
<body>
<?php
$app_id = "160336875618730";
$app_secret = "b14ac6d2b7frewdb259599b06983e881";
$canvas_page = "http://apps.facebook.com/myapp";
$auth_url = "https://www.facebook.com/dialog/oauth?client_id=" . $app_id . "&redirect_uri=" . $canvas_page . "&scope=email,read_stream,publish_stream,user_photos";
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
$_SESSION['signed_request']=$data;
… …..
그리고 page2.php있는 동안에
이 같은를 검색하는 것을 시도하고있다 : 그것은 나에게 변수의 뒷면을 포기하지 않을 것<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD H ...
... ...
<body>
<?php
$data = $_SESSION['signed_request'];
//User Info. Variables:
try {
$userId = $data["user_id"];
echo "ID:".$userId;
$userName =json_decode(file_get_contents('http://graph.facebook.com/' . $userId)) -> name;
…
.
친절하게 도와주세요.
첫 페이지에는 데이터가 있는지 확인하기 위해'$ data'와'$ _SESSION'을 출력하고 세션에 들어갔습니다. 'print_r()'을 사용하여 내용이 있는지 확인하기 위해 page2에있는'$ _SESSION'을 출력하십시오. 또한 www 또는 www가 아닌 두 가지 페이지를 모두보고 있는지 확인하십시오. 이와 같이 교환하면 세션 데이터를 양쪽에서 사용할 수 없습니다. – MrCode
PHP/Apache 오류 로그에서 단서를 확인하십시오. – MrCode