Покинул форум
Сообщений всего: 327
Дата рег-ции: Окт. 2010
Помог: 1 раз(а)
Здравствуйте. Недавно изучаю PHP и уже относительно хорошо продвинулся. И вообще рад, что занялся этим. Это оказалось очень интересно!
У меня возник вопрос по авторизации пользователей, а именно вот в чем.
Как передавать данные о пользователе между страницами скрипта, когда пользователь ходит по страницам сайта?
Объясню. Вот входит пользователь, сверяется логин и пароль. Это страница index.php, на этой странице можно вывести все данные из базы о данном пользователе и что-либо с ними сделать. И, сайт имеет еще страницы: profile.php, to_do.php и т.п. И когда пользователь переходит на профайл.пхп, то на странице уже никакие данные о пользователе не выводятся из базы. Т.е. просто в нужных местах пустота.
Вопрос вот в чем: как сделать, чтоб на протяжении всего посещения сайта (разных страниц) пользователь мог ходить по нему и видеть те данные из базы, которые ему предназначаются, чтоб вышесказанных пробелов не было.
Я уже сделал через кукис... догадался сам. Т.е. при авторизации записываются кукисы и потом вверх всех страниц profile.php, to_do.php и т.д. вставил код, который вынимает кукисы и снова их проверяет в mysql на правильность через SELECT .... WHERE login=$login AND password=$password. Правильно ли я сделал? Как это делают все сайты? И как положено? Расскажите плиз. Слышал что-то про какие-то сессии...
Заранее спасибо каждому, кто ответит.
P.S. Сайт оч понравился, буду частым гостем!
OrmaJever
Отправлено: 29 Октября, 2010 - 22:58:55
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Когда пользователь авторизируется ему можно добавить куки
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010 Откуда: Киров
Помог: 6 раз(а)
OverNik пишет:
Печенька хороша но сессия лучше.
Печенька для авторизации очень плоха. Да, конечно же сессии!
Жеванная пережеванная тема на самом деле. Стабильно раз в месяц на этом форуме появляется новичок, который делает авторизацию на куках.
OrmaJever
Отправлено: 30 Октября, 2010 - 00:14:55
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Uchkuma пишет:
OverNik пишет:
Печенька хороша но сессия лучше.
Печенька для авторизации очень плоха. Да, конечно же сессии!
тут или я плохо прочитал или вы правдо написали что печеньки для авторизации не подходят?
1) Как это большинсво сайтов их используют тогда?
2) Сесия заканчивается когда браузер закрывают. Апотом открыть и снова авторизироватся?
3) ДЛя чего тогда печеньки придуманы?
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Uchkuma
Отправлено: 30 Октября, 2010 - 00:32:47
Участник
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010 Откуда: Киров
Помог: 6 раз(а)
1. Они используются, но с другой целью. В куках хранится только уникальный id пользователя, который, собственно и используется в механизме сессий.
2. Когда закрывается браузер, сессия остается (она ведь хранится на сервере!), а вот кука может быть удалена (и то в зависимости от настроек, с которыми она была установлена) и тогда связь с сессией будет прервана. В этом случае сервер назначит новый id и создаст новую сессию.
3. Для хранения НЕконфиденциальных данных. Т.е. не логина и пароля.
OverNik
Отправлено: 30 Октября, 2010 - 00:47:09
Частый гость
Покинул форум
Сообщений всего: 182
Дата рег-ции: Янв. 2008
Помог: 0 раз(а)
В разделе "напиши за меня" есть очень много примеров по этой теме. Их вылаживали наверное все с просьбой проверить скрипт.
И вобще я сам иногда бываю читаю инфу на форуме за 2008 год, так сказать припомнить, доучить или схватить что-то новое, с тех пор думаю PHP далеко не пошел, разве что клиентская часть...
По теме, да сессию можно востановить (если на сервере не был запущен destroy)
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010 Откуда: Киров
Помог: 6 раз(а)
А у php есть клиентская часть? ))) (Добавление)
Вот что мне не нравится на php.su, это что ни одна статья не датирована А иногда очень полезно знать, свежая информация или нет.
OverNik
Отправлено: 30 Октября, 2010 - 00:52:20
Частый гость
Покинул форум
Сообщений всего: 182
Дата рег-ции: Янв. 2008
Помог: 0 раз(а)
Ну чуточку не правельно выразился Бывает...
Да было бы не плоххо, будем надееться то что администрация возмет на заметку.
Но если все сделать так, то скрипт выводит только одну строку (последнюю), а мне нужно чтоб он вывел все строки и в рамках таблицы т.е. вот так:
<table>
<tr><td>name</td><td>first</td><td>second</td></tr>
<tr><td>Петя</td><td>Бла-бла</td><td>Бам-бам</td></tr>
<tr><td>Миша</td><td>Туц-туц</td><td>Пам-пам</td></tr>
и т.д.
</table>
Как это осуществить? с помощью чего?
2. Как осуществить запись в базу нажатием на ссылку. Объясню: на страничке есть рейтинг, и если нажимаешь на плюс, то в базу записывается в нужную строку +1 к существующему значению, если минус, то минус соответственно. После нажатия делается изменение в базе и снова открывается эта же страничка
Вопрос: как это создать? через какой запрос. Просто не очень понимаю как от нажатия ссылки можно ввести данные в базу и плюс еще перезагрузить страницу. В общем схема не понятна. Как делают большинство сайтов?
Буду очень признателен, если Вы мне подскажите.
OverNik
Отправлено: 30 Октября, 2010 - 12:37:33
Частый гость
Покинул форум
Сообщений всего: 182
Дата рег-ции: Янв. 2008
Помог: 0 раз(а)
1. Дай свой SQL запрос
2:
Допустим у тебя есть ссылька <a href="?rate=1&user=user_id">+1</a>
Дальше
1. Работало бы в цикле, но увы ты не поставил LIMIT 1, а сервер то не знает что имено ты от него хочь, это нужно все указивать в запросе.
2. Отвыкай от быспредела в запросах, ставь кавычки
3. SELECT * - ты точно все хочь вытянуть, или просто влом прописать что имено тебе нужно от mysql сервера? Не экономишь ты ресурсы - так нельзя, ведь скорость скрипта - вот его плюс...
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.