Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
1

Сессии, не выводит значения из БД

09.06.2015, 10:43. Показов 970. Ответов 18
Метки нет (Все метки)

Такая проблема, с сессиями. В общем вход работает и срабатывает exit в конце кода. переходит в профиль. вот код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$_POST['Login'] = FormChars($_POST['Login']);
$_POST['Password'] = GenPass(FormChars($_POST['Password']), $_POST['Login']);
if (!$_POST['Login'] or !$_POST['Password']) MessageSend(1, 'Невозможно обработать форму.');
$Row = mysqli_fetch_assoc(mysqli_query($CONNECT, "SELECT `Password`, `Active` FROM `user` WHERE `Login` = '$_POST[Login]'"));
if ($Row['Password'] != $_POST['Password']) MessageSend(1, 'Не верный логин или пароль. <a href="restore">Восстановить пароль?</a>');
if ($Row['Active'] == 0) MessageSend(1, 'Аккаунт пользователя <b>'.$_POST['login'].'</b> не подтвержден.');
$Row = mysqli_fetch_assoc(mysqli_query($CONNECT, "SELECT `Id`, `First_Name`, `RegDate`, `Email`,  FROM `user` WHERE `Login` = '$_POST[Login]'"));
$_SESSION['USER_ID'] = $Row['Id'];
$_SESSION['USER_LOGIN'] = $Row['Login'];
$_SESSION['USER_PASSWORD'] = $Row['Password'];
$_SESSION['USER_NAME'] = $Row['First_Name'];
$_SESSION['USER_REGDATE'] = $Row['RegDate'];
$_SESSION['USER_EMAIL'] = $Row['Email'];
$_SESSION['USER_LOGIN_IN'] = 1;
if ($_REQUEST['remember']) setcookie('users', $_POST['Password'], strtotime('+30 days'), '/');
exit(header('Location: /profile'));
После чего я хочу в профиле вывести нужную информацию и делаю так:
PHP
1
2
3
<?php 
 
echo 'ID '.$_SESSION['USER_ID'].'';?>

Но он выводит просто 'ID' . В чем может быть проблема?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.06.2015, 10:43
Ответы с готовыми решениями:

Уменьшение значения сессии
Почему, после того, как будет совпадение, то значение сессии, минусуется только 1 раз? &lt;?php...

Вытащить значения из сессии
Доброго времени суток! Ребята, помогите пожалуйста вытащить значения из сессии. У меня есть...

Шифрованные значения сессии
Приветствую. Столкнулся с странной вещью на хостере. При использовании своего session handler на...

Программа работает, но выводит разные значения Sx и Yx (значения должны быть одинаковыми)
#include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; #pragma warning(disable : 4996) int...

18
53 / 53 / 22
Регистрация: 31.03.2015
Сообщений: 268
09.06.2015, 13:19 2
PHP
1
session_start();
есть в обоих скриптах?
0
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
09.06.2015, 13:45  [ТС] 3
Да.
0
1939 / 1763 / 825
Регистрация: 23.01.2014
Сообщений: 6,211
09.06.2015, 15:55 4
Цитата Сообщение от Admiral2014 Посмотреть сообщение
Но он выводит просто 'ID' . В чем может быть проблема?
Включите отображение ошибок php и увидите.
0
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
09.06.2015, 20:06  [ТС] 5
Подскажите где я могу включить их?
0
1939 / 1763 / 825
Регистрация: 23.01.2014
Сообщений: 6,211
09.06.2015, 20:18 6
Цитата Сообщение от Admiral2014 Посмотреть сообщение
Подскажите где я могу включить их?
В php.ini найти\исправить\раскомментировать\вписать следующие 2 строки:
Код
error_reporting = E_ALL
display_errors = On
Сохранить php.ini, перезапустить сервер.
1
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
10.06.2015, 11:35  [ТС] 7
Они включены, но ошибок не выдает.
0
1939 / 1763 / 825
Регистрация: 23.01.2014
Сообщений: 6,211
10.06.2015, 14:02 8
Цитата Сообщение от Admiral2014 Посмотреть сообщение
Они включены, но ошибок не выдает.
Попробуйте там где пишете
PHP
1
echo 'ID '.$_SESSION['USER_ID'].'';?>
написать
PHP
1
echo "<pre>".print_r($_SESSION, true);?>
1
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
10.06.2015, 14:46  [ТС] 9
Array
(
[message] => Array
(
)

[USER_NAME] =>
[USER_REGDATE] =>
[USER_EMAIL] =>
[USER_LOGIN_IN] => 1
[USER_ID] =>
)

Вот что он выдал на экране, т.е он как я понимаю ничего не видит..
0
1939 / 1763 / 825
Регистрация: 23.01.2014
Сообщений: 6,211
10.06.2015, 15:45 10
Цитата Сообщение от Admiral2014 Посмотреть сообщение
т.е он как я понимаю ничего не видит..
т.е. на момент когда Вы это вывели, переменная $_SESSION['USER_ID'] пуста.

Больше информации выведет var_dump().
PHP
1
var_dump($_SESSION);
0
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
10.06.2015, 19:05  [ТС] 11
array(6) {
["message"]=>
array(0) {
}
["USER_ID"]=>
NULL
["USER_NAME"]=>
NULL
["USER_REGDATE"]=>
NULL
["USER_EMAIL"]=>
NULL
["USER_LOGIN_IN"]=>
int(1)
}

В общем он не получает из базы как я понимаю данные.. но почему?

Добавлено через 3 часа 12 минут
ап... нужна помощь
0
1939 / 1763 / 825
Регистрация: 23.01.2014
Сообщений: 6,211
10.06.2015, 19:09 12
Цитата Сообщение от Admiral2014 Посмотреть сообщение
нужна помощь
PHP
1
var_dump($Row);
после того как получили этот $Row
0
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
10.06.2015, 19:11  [ТС] 13
Просто выводит: NULL
0
1939 / 1763 / 825
Регистрация: 23.01.2014
Сообщений: 6,211
10.06.2015, 19:18 14
Admiral2014, ну что я так и буду Вам писать пока каждую строчку скрипта не проверим Попробуйте самостоятельно пройтись по всем строкам скрипта, выводя через var_dump значения переменных, а так же результаты выполнения функции mysql_query() И прочее.
0
53 / 53 / 22
Регистрация: 31.03.2015
Сообщений: 268
10.06.2015, 20:40 15
Попробуйте вот так написать запрос:
PHP
1
'SELECT Password, Active FROM user WHERE Login = "'.$_POST["Login"].'"'
У меня сначала тоже были с этим проблемы, а когда составил запрос так всё получилось
1
Web Programmer
325 / 286 / 121
Регистрация: 28.09.2011
Сообщений: 1,570
10.06.2015, 20:40 16
Добавте в 5 строке var_dump($row); если будет null тогда проверьте что пришло в var_dump($_POST);
если данные есть там и верны попробуйте заменить в запросе '$_POST[Login]' на '{$_POST["Login"]}'
1
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
10.06.2015, 21:11  [ТС] 17
Спасибо, я сейчас попробую и напишу

Добавлено через 21 минуту
Цитата Сообщение от JimUSA Посмотреть сообщение
Добавте в 5 строке var_dump($row)
вывело null

Цитата Сообщение от JimUSA Посмотреть сообщение
тогда проверьте что пришло в var_dump($_POST);
Там уже все нормально
Цитата Сообщение от JimUSA Посмотреть сообщение
если данные есть там и верны попробуйте заменить в запросе '$_POST[Login]' на '{$_POST["Login"]}'
Результата не дало

Добавлено через 2 минуты
Цитата Сообщение от Max_Great_Tanje Посмотреть сообщение
Попробуйте вот так написать запрос:
не помогает
0
Web Programmer
325 / 286 / 121
Регистрация: 28.09.2011
Сообщений: 1,570
11.06.2015, 00:02 18
Если не сложно, залейте сюда файл сайта с базой.
1
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
11.06.2015, 08:41  [ТС] 19
Отправил в лс.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2015, 08:41

Передача значения переменной из сессии
вопрос, на самом деле, сильно пересекается с JS в страницу подключается файлик&lt;script...

Почему все значения в сессии складываются?
Вывожу на странице одну и ту же сессию 2 раза, просто в разных местах. Почему все значения в сессии...

Сохранение значения форм в сессии php
Всем привет, поставил себе задачу &quot;сохранить значения формы в сессию и вывеси эти значения на...

Хранение значения переменной в сессии php
Чтобы долго не объяснять вот код. &lt;?php $page_number = $_SESSION; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru