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

0

Привет, ребята, я делаю серию утверждений 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'] = '';
    }
}
Теги:
session-variables

1 ответ

1
Лучший ответ

Precheck: Если вы получаете какие-либо "Заголовки, уже отправленные...", то у вас есть уже выходной файл на странице, который предотвращает настройку сеанса.

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

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

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

  • 0
    Крутые ура, постановка сессии как что-то еще, похоже, сработала. Я предполагаю, что что-то останавливало его, возвращая к нулю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню