Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Sokol6020
2 / 0 / 1
Регистрация: 19.07.2015
Сообщений: 52
#1

Нужно вывести значение авторизованного пользователя

21.07.2015, 12:38. Просмотров 1064. Ответов 20
Метки нет (Все метки)

Написал код который выводит значения денег всех зарегистрированных пользователей, а нужно выводить только авторизованного. Как реализовать? И возможно ли это сделать с помощью WHERE?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$sdd_db_host='localhost';
$sdd_db_name='autor';
$sdd_db_user='autor';
$sdd_db_pass='123456';
@mysql_connect($sdd_db_host,$sdd_db_user,$sdd_db_pass);
@mysql_select_db($sdd_db_name);
$result=mysql_query('SELECT * FROM `dle_users`');
while($row=mysql_fetch_array($result))
{ 
echo '<p>'.$row['money'].'</p>';
}
?>
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2015, 12:38
Ответы с готовыми решениями:

Редирект авторизованного пользователя со страницы регистрации
Помогите пожалуйста, нужно чтобы сразу после регистрации пользователя...

Заменить форму авторизации на данные авторизованного пользователя
Как заменить форму авторизации на данные авторизованного пользователя? То есть,...

Скрыть от пользователя значение полей
Загружается форма с запросом на логин и пароль для входа в почтовый ящик. По...

Вывести дату регистрации пользователя
Ребята помогите вывести дату регистрации пользователя в личный кабинет . Дело...

Записать текущего пользователя в переменную и вывести
Нужно сделать следующее, В обычной форме добавить скрытое поле, и чтобы после...

20
foxxxit
36 / 36 / 4
Регистрация: 17.07.2011
Сообщений: 198
21.07.2015, 13:10 #2
Sokol6020, попробуйте хранить ид пользователя в cookies и на основе этих данных делать запрос к базе. Это будет самый верный метод для проверки авторизации
1
Sokol6020
2 / 0 / 1
Регистрация: 19.07.2015
Сообщений: 52
21.07.2015, 13:32  [ТС] #3
Цитата Сообщение от foxxxit Посмотреть сообщение
Sokol6020, попробуйте хранить ид пользователя в cookies и на основе этих данных делать запрос к базе. Это будет самый верный метод для проверки авторизации
Попробовал, но почему-то выводит все время одно и тоже значение...

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$sdd_db_host='localhost';
$sdd_db_name='autor';
$sdd_db_user='autor';
$sdd_db_pass='123456';
@mysql_connect($sdd_db_host,$sdd_db_user,$sdd_db_pass);
@mysql_select_db($sdd_db_name);
$id = setcookie('user_id');
$result=mysql_query("SELECT * FROM dle_users WHERE user_id=$id ");
while($row=mysql_fetch_array($result))
{ 
echo '<p>'.$row['money'].'</p>';
}
?>
0
foxxxit
36 / 36 / 4
Регистрация: 17.07.2011
Сообщений: 198
21.07.2015, 13:46 #4
Sokol6020, попробуйте под другим пользователем
1
Sokol6020
2 / 0 / 1
Регистрация: 19.07.2015
Сообщений: 52
21.07.2015, 13:47  [ТС] #5
Цитата Сообщение от foxxxit Посмотреть сообщение
Sokol6020, попробуйте под другим пользователем
Пробовал, но толку нет, потому что выводит один и тот же id на всех страницах...
0
foxxxit
36 / 36 / 4
Регистрация: 17.07.2011
Сообщений: 198
21.07.2015, 13:48 #6
Sokol6020, ну так cookies привязывается к домену, а не к странице, конечно будет один id
1
Sokol6020
2 / 0 / 1
Регистрация: 19.07.2015
Сообщений: 52
21.07.2015, 13:49  [ТС] #7
Цитата Сообщение от foxxxit Посмотреть сообщение
Sokol6020, ну так cookies привязывается к домену, а не к странице, конечно будет один id
И как тогда правильно сделать?
0
foxxxit
36 / 36 / 4
Регистрация: 17.07.2011
Сообщений: 198
21.07.2015, 13:59 #8
Sokol6020, все зависит от того, что Вы хотите получить в конечном итоге
1
Sokol6020
2 / 0 / 1
Регистрация: 19.07.2015
Сообщений: 52
21.07.2015, 14:01  [ТС] #9
Цитата Сообщение от foxxxit Посмотреть сообщение
Sokol6020, все зависит от того, что Вы хотите получить в конечном итоге
Хочу вывести значение столбца money, для авторизованного пользователя
0
foxxxit
36 / 36 / 4
Регистрация: 17.07.2011
Сообщений: 198
21.07.2015, 15:09 #10
Sokol6020, покажите вывод на экран что Вы видите с разных браузеров под разными пользователями.
1
Sokol6020
2 / 0 / 1
Регистрация: 19.07.2015
Сообщений: 52
21.07.2015, 15:19  [ТС] #11
Вот под двумя пользователями. 200 это значение денег когда id = 1, т.е. профиля с ником Sokol6020

Сделано в Яндекс браузере
Название: 2015-07-21 15-17-00 money » Rad.crafT – Yandex.png
Просмотров: 26

Размер: 3.2 Кб

Сделано в Опере
Название: 2015-07-21 15-17-31 money » Rad.crafT — Opera.png
Просмотров: 26

Размер: 2.2 Кб
0
foxxxit
36 / 36 / 4
Регистрация: 17.07.2011
Сообщений: 198
21.07.2015, 15:25 #12
Sokol6020, не увидел Ваше определение user_id в cookies. У вас не передается туда переменная, а попросту создается кука с названием "user_id". Нужно вот так:

PHP
1
$id = setcookie('user_id', $varWithUserId);
1
Sokol6020
2 / 0 / 1
Регистрация: 19.07.2015
Сообщений: 52
21.07.2015, 15:30  [ТС] #13
Цитата Сообщение от foxxxit Посмотреть сообщение
Sokol6020, не увидел Ваше определение user_id в cookies. У вас не передается туда переменная, а попросту создается кука с названием "user_id". Нужно вот так:
Изменений нет, все равно значение 200, даже после очистки куки
0
foxxxit
36 / 36 / 4
Регистрация: 17.07.2011
Сообщений: 198
21.07.2015, 15:32 #14
Sokol6020, сделайте запрос в базу, чтобы по нику достать id пользователя и засуньте ее в $varWithUserId. После проведите сравнение и будет Вам счастье.
1
Sokol6020
2 / 0 / 1
Регистрация: 19.07.2015
Сообщений: 52
21.07.2015, 16:05  [ТС] #15
Цитата Сообщение от foxxxit Посмотреть сообщение
Sokol6020, сделайте запрос в базу, чтобы по нику достать id пользователя и засуньте ее в $varWithUserId. После проведите сравнение и будет Вам счастье.
Так я же не могу достать одно значение, получается что выводит все
0
foxxxit
36 / 36 / 4
Регистрация: 17.07.2011
Сообщений: 198
21.07.2015, 16:06 #16
Sokol6020, Sokol6020, сделайте запрос без "*"
1
Sokol6020
2 / 0 / 1
Регистрация: 19.07.2015
Сообщений: 52
21.07.2015, 16:15  [ТС] #17
foxxxit, В этой строке?
PHP
1
$result=mysql_query("SELECT * FROM dle_users WHERE user_id=$id ");
0
foxxxit
36 / 36 / 4
Регистрация: 17.07.2011
Сообщений: 198
21.07.2015, 18:00 #18
Sokol6020, да, выбирайте конкретное поле
1
Sokol6020
2 / 0 / 1
Регистрация: 19.07.2015
Сообщений: 52
21.07.2015, 18:45  [ТС] #19
foxxxit, если выбирать конкретное поле ничего не выводит
0
N3stY
(ノಠ益ಠ)ノ彡┻━┻
151 / 151 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
21.07.2015, 22:32 #20
Лучший ответ Сообщение было отмечено Sokol6020 как решение

Решение

Sokol6020, насколько я вижу (по БД) это DLE, так а зачем париться то? У них там все реализовано в классах.

PHP
1
2
3
4
5
6
7
8
9
<?php
 
$db->query("SELECT * FROM dle_users WHERE user_id='{$member_id['user_id']}'");
 
while($row=$db->get_rows())
{ 
      echo '<p>'.$row['money'].'</p>';
}
?>
Хм?

Добавлено через 1 минуту
Да и потом вся инфа о текущем пользователе хранится в массиве $member_id

Добавлено через 2 минуты
И зачем вы используете while? вы выбираете значение о текущем пользователе из таблицы пользователей в которой ID уникальны т.е. результат будет только один. ИМХО while тут не уместен
1
21.07.2015, 22:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.07.2015, 22:32

Как вывести на страничку пользователя его имя
Всем привет! Где-то что-то не так делаю, знаю. Но не пойму где. После входа,...

Определить пол пользователя и вывести соответствующую иконку
Как сделать чтобы при выводе пользователей он отличал это девушка или парень, и...

Добавить имя пользователя и его сообщение в файл и вывести всю информацию в браузер
Написать программу, которая добавляет имя пользователя и его сообщение в файл и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru