Как получить доступ к переменным сеанса из второго файла php? - PullRequest
1 голос
/ 24 июня 2010

В рамках моей попытки создать ASP.net, который имеет тот же вид и чувствовать себя как существующие приложения PHP от другого разработчика. (Подробнее об этом можно прочитать здесь: Как поделиться сессий между PHP и ASP.net приложения ) Я нахожусь в середине процесса распространения состояния Userlogin между моей ASP.net и PHP приложения.

У меня есть ссылки, как signin.aspx? Foo = asdhhjkasd (ASP.net) и signin.php? Foo = asdhhjkasd рассказывающие другое приложение, которое учетные данные должны использоваться для аутентификации пользователя.

Прямо сейчас я застрял с управлением сеансом ПГПСА: Существующее приложение PHP состоит из index.php, который включает в себя несколько (некоторые из 100) других файлов PHP и выполняет свою функцию. Существует sessionmanagement (session_start () участие и так далее.

То, что я хочу сделать, это вызвать signin.php страницу вызова с некоторыми параметрами. На основании используется ли вход в приложение PHP, или нет, я просто хочу, чтобы перенаправить на index.php, но я не могу ухватить переменные сессии.

Как должен мой signin.php выглядеть, чтобы получить доступ к сессии переменные, используемые в index.php. Это то, что я пытался до сих пор:

<?php
    // session_start(); tried it with or without it
    if($_SESSION['user_id'] != "")
    {
        header('Location:index.php');
    }
    else
    {
          echo "no redirect";
    }
?>

Я всегда получаю "нет" редирект печати. ​​

Или мое мышление не так, и это не представляется возможным получить доступ к переменные сессии с другой страницы в PHP, когда нет сообщений / не получить акции участвуют?

Может быть, я должен сказать, что мои PHP возможности немного ограничены.

Ответы [ 2 ]

2 голосов
/ 24 июня 2010

Убедитесь, что у вас правильное имя cookie (по умолчанию PHPSESSID). Вы можете изменить его с помощью session_name().
Также: вы должны вызвать session_start(), чтобы ваш код работал, даже если session.auto_start выключен.

1 голос
/ 24 июня 2010

Ваш скрипт выглядит нормально, я не знаю, почему он не будет работать, если "session_start ()" не был инициализирован до использования сессий.

Кроме того, где вы определяете сессии? проверьте, что "session_start ()" также инициализирован там.

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