0

問題: リダイレクト後にセッション変数が引き継がれません。

facebook.php (作成、保存されたセッション変数)

ボタンは available.php に移動します -->searching.php

ヘッダーリダイレクトを使用しています。したがって、 $_SESSION['seshfbId'] は available.php でエコーしますが、searching.php ではエコーしません

コード

facebook.php

<?php
session_start(); // start up your PHP session! 

header( 'Location: http://www.redacted.co/chat.php' ) ;
function createSeshVariables($name, $email, $college, $photo, $id)
{
// set the value of the session variable 'name'
$_SESSION['seshName'] = $name;

// set the value of the session variable 'email'
$_SESSION['seshEmail'] = $email;

// set the value of the session variable 'education'
$_SESSION['seshEducation'] = $college;

// set the value of the session variable 'photolink'
$_SESSION['seshPhotolink'] = $photo;
// set the value of the session variable 'photolink'
$_SESSION['seshfbId'] = $id;
}

createSeshVariables($fbName,$fbEmail,$fbCollege,$photolink,$fbId); 
?>

available.php

<?php
session_start(); // start up your PHP session! 
header( 'Location: http://www.redacted.co/assets/php/searching.php' );
echo $_SESSION['seshfbId'];
//if i comment out header redirect the echo works here.
changeStatusToAvailable($_SESSION['seshfbId']); 
?>

検索.php

<?php
session_start(); // start up your PHP session!
echo $_SESSION['seshfbId'];
?>

編集: vardump の後、検索ページで seshId と seshToken を見つけました。しかし、それを作成するために使用されるコードは tac.php にあります。以前に tac.php コードがセッション変数と衝突したような気がします

tac.php

$apiObj = new OpenTokSDK(API_Config::API_KEY, API_Config::API_SECRET);
$session = $apiObj->createSession( $_SERVER["REMOTE_ADDR"],                array(SessionPropertyConstants::P2P_PREFERENCE=> "enabled") );
$seshId = $session->getSessionId();
$_SESSION['seshId'] = $seshId;
$token = $apiObj->generate_token($seshId, RoleConstants::PUBLISHER, null);
$_SESSION['seshToken'] = $token;
4

1 に答える 1

0

解決しました。私が疑ったように、opentok API はセッション変数を呼び出したため、私の sesh 変数と衝突しました。すべてのセッション変数を 1 つの php に移動し、問題を解決しました。

于 2013-05-10T15:57:47.577 に答える