Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Создание профиля пользователя

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): [1] 2 3 »   

> Без описания
etoYA
Отправлено: 27 Октября, 2011 - 09:32:11
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




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

При авторизации айд заносится в сессию, потом к примеру profile.php проводится выборка данных чете типо этой

PHP:
скопировать код в буфер обмена
  1. SELECT * FROM users WHERE id='{$_SESSION['id']}' LIMIT 1


Будет ли эта страница уникальна для каждого пользователя?

(Отредактировано автором: 27 Октября, 2011 - 09:33:43)

 
 Top
EuGen Администратор
Отправлено: 27 Октября, 2011 - 09:40:50
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




etoYA пишет:
Будет ли эта страница уникальна для каждого пользователя?

Будет.

Для страницы профиля как правило выбирают данные о пользователе из БД (не обязательно одной таблицы, так как некоторые данные могут быть и в других)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
etoYA
Отправлено: 27 Октября, 2011 - 09:41:29
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




Ну это естественно. Спасибо.
 
 Top
salim
Отправлено: 27 Октября, 2011 - 12:13:12
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




etoYA, НЕ очень удачный метод определения пользователя...
я бы сказал, вобще не удачный
 
 Top
tuareg
Отправлено: 27 Октября, 2011 - 12:30:02
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




salim
А удачный это как?

(Отредактировано автором: 27 Октября, 2011 - 12:30:28)

 
 Top
salim
Отправлено: 27 Октября, 2011 - 13:46:46
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




Цитата:
как делается профиль пользователя?

Вы пользователей создаете по средствам SID ?
в данный момент мой SID = xxxxxxxxxxxxxxx
ОК. Делаем выбор
PHP:
скопировать код в буфер обмена
  1. $r = mysql_query("SELECT user_name, user_pwd FROM users WHERE sid='$SID' ");
  2. {
  3. // ну и тд...
  4. }


Закрываем браузер, снова открываем, и здесь уже мой SID = yyyyyyyyyyyyyyyy
Что вернет запрос, догадываетесь ?
PHP:
скопировать код в буфер обмена
  1. $r = mysql_query("SELECT user_name, user_pwd FROM users WHERE sid='$SID' ");

(Отредактировано автором: 27 Октября, 2011 - 13:47:10)

 
 Top
Мелкий Супермодератор
Отправлено: 27 Октября, 2011 - 13:51:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




salim пишет:
Что вернет запрос, догадываетесь ?

Пустой результат (0 строк). А PHP - E_NOTICE за обращение к неинициализированной переменной.

Но только если перед этим не было проверки на существование $_SESSION['id'].


-----
PostgreSQL DBA
 
 Top
salim
Отправлено: 27 Октября, 2011 - 14:20:15
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




Мелкий, совершенно верно.
Я просто пытаюсь донести до ТС, что создавать / проверять пользователей нужно по стандартным параметрам, пара логин / пароль...
только конечно если это не интернет магазин без регистрации
 
 Top
Мелкий Супермодератор
Отправлено: 27 Октября, 2011 - 14:35:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




salim, а я до вас пытаюсь довести, что $_SESSION['id'] не имеет абсолютно никакого отношения к ID сессии.


-----
PostgreSQL DBA
 
 Top
salim
Отправлено: 27 Октября, 2011 - 14:38:04
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




Мелкий, поясните (не ерничаю)
 
 Top
EuGen Администратор
Отправлено: 27 Октября, 2011 - 14:39:02
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




PHP:
скопировать код в буфер обмена
  1. //init:
  2. $_SESSION['id']=$user_id;


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Itan
Отправлено: 27 Октября, 2011 - 17:22:38
Post Id


Частый гость


Покинул форум
Сообщений всего: 199
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




salim, в идентификатор сессии идет строка, которую можно подделать. Это называется SID. Он создается автоматически. Но можно задать свои значение для сессии, которые невозможно подделать без взлома сервера. Такие значения могут носить произвольные названия - id, control, abra_kadabrа и т.д. Поправьте, если ошибся.

(Отредактировано автором: 27 Октября, 2011 - 17:23:13)

 
 Top
etoYA
Отправлено: 27 Октября, 2011 - 19:26:19
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




Ну ведь вывод идется по айди пользователя в базе и поэтому не вижу смысла каждый раз проверять логин и пароль..... Или я не прав?
 
 Top
salim
Отправлено: 27 Октября, 2011 - 19:28:16
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




etoYA, если чесно я вобще запутался и в ваших требованиях, и в том что мне пояснили, идентификатор я себе представляю как user_id, но никак ни $_SESSION['id']
 
 Top
Itan
Отправлено: 27 Октября, 2011 - 19:29:37
Post Id


Частый гость


Покинул форум
Сообщений всего: 199
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Да все нормально. Юзер авторизуется - записывается его id в сессию, что позволяет ему перемещаться между скриптами "залогиненым". Потом, когда закрывается браузер, сессия на сервере автоматически удаляется. Именно поэтому при авторизации спрашивается "Запомнить меня" или нет. Если галочка есть, то к сессии добавляют куки. Если нету галочки, то работает просто одна сессия, без кук.

(Отредактировано автором: 27 Октября, 2011 - 19:30:44)

 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB