Авторизация с возможностью редактирования профиля

Статус
В этой теме нельзя размещать новые ответы.

Ash_Ketchum

Постоялец
Регистрация
17 Фев 2008
Сообщения
89
Реакции
5
Приветствую.
Кто-нибудь может подкинуть толковую идею как это лучше реализовать или возможно где-то уже есть такой скрипт..хотя
хочется самому написать скрипт, а не ковыряться в чьем-то коде...
 
Ну если хочется самому, то имхо делаешь регистрацию для юзеров с занесением в бд логина, пароля и др полей профиля и даешь юзерам возможность менять поля в своем профиле. Вроде ничего сложного ;)
 
сессии вполне подходящий вариант

в чем вопрос то ?
 
Вопрос как раз и состял в том к чему "привязатся" и от чего "отталкиваться" в таком нелугком деле(по крайней мере для меня). Сессии подходят как нельзя кстати!
Вот тут есть итересная статья по этому поводу:
Для просмотра ссылки Войди или Зарегистрируйся
и продолжение:
Для просмотра ссылки Войди или Зарегистрируйся
 
Для просмотра ссылки Войди или Зарегистрируйся
и продолжение:
Для просмотра ссылки Войди или Зарегистрируйся

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

мегаюзабельные переменные $PHP_AUTH_USER/PW доступны только если пхп работает как модуль апача.

если php как cgi и запускается под владельцем файла (т.е. suexec), тогда в окружении скрипта информации типа USER/PW не будет (ибо не положено по умолчанию) и через mod_rewrite в окружение скрипта эту инфу не удастся передать, ибо апач и запущенный скрипт - процессы разных юзеров.

поэтому для избежания несовместимостей при работы с http authentication из php нужно использовать вот что:

Код:
rewriterule (.*) $1?http_auth=%{HTTP:Authorization} [QSA]

и в скрипте переменная $_REQUEST['http_auth'] будет содержать следующее:
Код:
Basic base64_encode(user:password)



п/с/ "Авторизация с возможностью редактирования профиля" = "пойди туда не знаю куда". как свои хотения формулируешь, такую помощь и получаешь. о чем тема?
 
Имхо использовать HTTP-аутентификацию в PHP - большой изврат.
Зачем ломать голову, если можно без этого обойтись.
 
п/с/ "Авторизация с возможностью редактирования профиля" = "пойди туда не знаю куда". как свои хотения формулируешь, такую помощь и получаешь. о чем тема?

Я говорю насчёт того, что бы зарегистрированные пользователи могли входить на сайт через форму авторизации и при желании менять свои данные в учётной записи.
 
Я говорю насчёт того, что бы зарегистрированные пользователи могли входить на сайт через форму авторизации и при желании менять свои данные в учётной записи.

неужели это такая задача, которая требует "идей, как ЭТО лучше реализовать"?

берешь любой механизм ведения сессий (хоть бы и встроенный) и делаешь для юзеров что угодно - хоть правку учетки хоть поименнопринудительный сбор добровольных пожертвований в помощь страдающим от ожирения небратьям нашим забугорным.

хотя, может быть ты вообще не знаком именно с тем, как сессии юзера держать? вот статья в помощь, кратко и обо всем
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Расскажу вкратце, как это делается (чтоб не приводить сам класс авторизации, который написал я...)

1. Заводится сессия:
PHP:
session_start();
2. Делается проверка - есть ли флаг "юзверь авторизован". Я для этого использую следующий механизм: при авторизации в $_SESSION['user']['id'] записывается ID юзверя
PHP:
if(isset($_SESSION['user']['id']))
{ // Вот тут заносится флаг "авторизован". поскольку, я использую класс и проверку авторизации провожу только 1 раз, я устанавливаю публичное поле $bIsAuth  значение true
$this->bIsAuth = true;
}
3. Далее, соответственно делаю выборку данных профиля из базы по $_SESSION['user']['id'] и отдаю на редактирование.

Hint: для формы регистрации и редактирования профиля можно использовать одно и тоже представление компоненты user, что означает "не нужно создавать отдельную форму, если вы используете MVC в своей разработке.
 
mentanos
Вы правы, я с сессиями крайнемало знаком.
Спасибо за совет и ссылочку буду пробывать.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху