Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Проблема с $_SESSION! Не могу выбрать значение!


Автор: xoslv 20.3.2007, 17:50
У.в. господа программеры!
Помогите решить такую проблему.
Я пишу файл авторизации:
Код

$q = "select * from `users` where `u_login`='".$_POST['login']."' and `u_password`='".$_POST['pwd']."' and `u_active`='1'";
$r = mysql_query($q) or die(mysql_error());
$num = mysql_num_rows($r);
if ($num==1) {
    $row = mysql_fetch_assoc($r);
    session_start();
    $_SESSION['name'] = $row['login'];
    $_SESSION['pass'] = $row['password'];
    $_SESSION['stat'] = $row['u_status'];
    header('Location: main.php');
    exit;
}

И после хедера на другую страничку, как мне получить значения $_SESSION ???? Где у меня ошибка?
Зарание спасибо!

Автор: Serkys 20.3.2007, 18:14
Первое.
Цитата(xoslv @  20.3.2007,  17:50 Найти цитируемый пост)
exit;

При вызове функций обязательно ставить скобочки:
Код

exit();

Так у тебя будет искаться константа exit

А получить значения можно через тот же массив $_SESSION. Если сессии поставились, конечно.
Проверял, сессии ставятся?

Добавлено @ 18:19 
Кстати да, постить в "Общих вопросах" надо было.

Автор: xoslv 20.3.2007, 18:28
Если я пишу так:
Код

$q = "select * from `users` where `u_login`='".$_POST['login']."' and `u_password`='".$_POST['pwd']."' and `u_active`='1'";
$r = mysql_query($q) or die(mysql_error());
$num = mysql_num_rows($r);
if ($num==1) {
    $row = mysql_fetch_assoc($r);
    session_start();
    $HTTP_SESSION_VARS['name'] = $row['u_login'];
    $_SESSION['name'] = $row['u_login'];
    $_SESSION['pass'] = $row['u_password'];
    $_SESSION['stat'] = $row['u_status'];
    print_r ($_SESSION);


то сессия показывается, а в следующем файле, если я пишу:
Код

print_r ($_SESSION);

То уже ничего не выводит..... Вот в чём тут косяк?

Автор: skyboy 20.3.2007, 18:29
Цитата(xoslv @  20.3.2007,  17:28 Найти цитируемый пост)
То уже ничего не выводит..... 

а в том втором файле session_start() есть? а сессию случайно в первом не закрываешь?

Автор: Vaulter 20.3.2007, 18:32
Цитата

как мне получить значения $_SESSION ???? 

просто
Код

session_start();
print_r($_SESSION);

Автор: xoslv 20.3.2007, 18:33
Спасибо, разобрался!
smile поставил session_start во втором файле и всё пошло!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)