php не обновляет переменные сессии? - PullRequest
0 голосов
/ 21 сентября 2009

Я работал с твиттером oauth и api, и у меня странная проблема.

Я создаю ссылку на запрос, сохраняю токен и секрет запроса в переменной сеанса, а затем, когда пользователь возвращается из твиттера, пытается извлечь эти ключи для сохранения их в базе данных.

Когда я выполняю следующее:

session_start();
$to = new TwitterOAuth($consumerkey, $consumersecret);
$tok = $to->getRequestToken();
$request_link = $to->getAuthorizeURL($tok);
$_SESSION["oauth_request_token"] = $token = $tok['oauth_token'];
$_SESSION["oauth_request_token_secret"] = $tok['oauth_token_secret'];
print_r($_SESSION)."<br>";

Это показывает, что массив сессии содержит мои значения, и они верны, однако, когда он возвращается из твиттера, print_r'ing массив сессии ничего не производит, то же самое для echo. Как будто его там нет или что-то.

Я начинаю сеанс на обеих страницах в верхней первой строке.

Вторая страница гласит:

session_start();
echo $_SESSION["oauth_request_token"];
echo $_SESSION["oauth_request_token_secret"];

Странно то, что если я вручную объявляю переменную сеанса на второй странице, она работает нормально. Я что-то упустил?

Ответы [ 3 ]

1 голос
/ 21 сентября 2009

Правильно ли установлен файл cookie с идентификатором сессии? В противном случае идентификатор сеанса будет передан в URL-адресе, поэтому вам необходимо убедиться, что вы правильно отправили его в Twitter.

1 голос
/ 21 сентября 2009

Кажется, PHP неправильно сохраняет сессии. Можете ли вы показать phpinfo ()? Может быть обработчик сохранения сеанса переопределен. Также попробуйте избавиться от Twitter и поэкспериментировать на чистом PHP с переменными сеанса. Будет ли это работать?

0 голосов
/ 28 октября 2009

Оказывается, сессии относятся к конкретному адресу.

Я отправлял запрос от

http://website.com

и он возвращался к

http://www.website.com
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...