Привет, ребята, я делаю серию утверждений 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'] = '';
}
}
Precheck: Если вы получаете какие-либо "Заголовки, уже отправленные...", то у вас есть уже выходной файл на странице, который предотвращает настройку сеанса.
В противном случае выполните шаги отладки, например:
1) Сделайте echo $row['lifemember']
внутри цикла while, чтобы вы знали РЕАЛЬНОЕ значение того, что было извлечено из БД.
2) В блоке else измените его на $_SESSION['MemberType'] = 'Hello';
Затем посмотрите, напечатан ли Hello или нет?