Переменные сессии в PHP - PullRequest
       2

Переменные сессии в PHP

0 голосов
/ 13 ноября 2010

Эй, ребята, я делаю серию операторов if на основе установленной переменной сеанса (которая просматривает значение в БД и затем решает, следует ли очистить сеанс или назвать его. Однако у меня возникают проблемы вчто сессия всегда имеет имя, независимо от того, является ли запись в базе данных '0' или нет. Запрос работает нормально при запуске в mysql. Вот код:

session_start ();

$_SESSION['MemberType'] = '';

mysql_select_db($database_choices, $choices);

$query = "Select lifemember from registrants where username = '" . $_SESSION[kt_login_user] . "'"; 
$result = mysql_query($query) or die ("Error in query: $query. ".mysql_error()); 

while($row = mysql_fetch_array($result))
{
    if ($row['lifemember'] == '1')
    {
        $_SESSION['MemberType'] = 'LifeMember';
    }
    else if($row['lifemember'] == '0')
    {
        $_SESSION['MemberType'] = '';
    }
}

1 Ответ

1 голос
/ 13 ноября 2010

Предварительная проверка: Если вы получаете какие-либо «Заголовки уже отправлены ...», то у вас уже есть какой-то вывод на странице, который не позволяет установить сеанс.

В противном случае попробуйте выполнить шаги по отладке, например:

1) Выполните echo $row['lifemember'] внутри цикла while, чтобы вы знали РЕАЛЬНОЕ значение того, что было извлечено из БД.

2) В блоке else измените его на $_SESSION['MemberType'] = 'Hello'; Затем посмотрите, напечатан ли Hello или нет?

...