Я тут пишу фотогалерею с авторизацией. И у меня возник вот такой вот вопрос.
Когда юзер авторизируется и заходит на свою страницу, то у него на странице есть некоторые элементы управления, типа удалить выбранные фотографии, удалить комментарии, изменить названия фото и прочее... Но если же он заходит на чужую страницу, то у него, соответственно, не должно быть таких админ-элементов, чтоб он не мог удалить чужое фото. Мой вопрос заключается в том, как лучше всего это организовать. У меня возникла вот такая идея, не знаю наскока удачная:)
1)когда юзер входит на свою стр, то в скрипте создается сессионная переменная $_SESSION['login']. Он видит случайный список 20-ти пользователей(к примеру):
while($row=mysql_query("КАКАЯ_ТО ВЫБОРКА ИЗ ТАБЛИЦЫ ПОЛЬЗОВАТЕЛЕЙ")){
echo "<tr><td><a href=script.php?other_log=".$row['user_name'].">$row['user_name']</a></td></tr>";
}
2)В скрипте script.php сначала проверяется совпадает ли $_GET['other_log'] c $_SESSION['login'] и если нет то создатеся переменная $_SESSION['other_log'] равная $_GET['other_log'], пользователя перенаправляют на страницу того пользователя которого он выбрал, а в самом скрипте проверяется есть ли переменная $_SESSION['other_log'] и если да то форма допустим удаления фото не выводится...
3)Когда юзер нажимает "вернуться на свою страницу" то его перенаправляют на script.php, там уничтожается переменная $_SESSION['other_log'] , а оттуда - на главную страницу...
Как вам такой подход? Если плохо, то просьба указать недостатки)
Заранее спасибо всем!
Спустя 49 минут, 13 секунд (23.12.2009 - 00:01) inpost написал(а):
Сделай куда проще. Человек зашел на страницу под $_SESSION['login']. Берёшь из базы данных его id, а можно при авторизации ещё создать в сессии его id. ( Пример: $_SESSION['id_user = 7'] )
Для каждого пользователя галерея под своим id, mysite.com/gallery.php?id=8.
Проверяешь, сходятся ли id_user пользователя с id галереей. Если да - выводишь одну информацию на экран, где он может редактировать её, если не сходятся - выводишь другую информацию на экран.
Главное не запутайся, если галерея использует ?id=7, то у пользователя в сессии должно быть другое имя, например $_SESSION['id_user']
Для каждого пользователя галерея под своим id, mysite.com/gallery.php?id=8.
Проверяешь, сходятся ли id_user пользователя с id галереей. Если да - выводишь одну информацию на экран, где он может редактировать её, если не сходятся - выводишь другую информацию на экран.
Главное не запутайся, если галерея использует ?id=7, то у пользователя в сессии должно быть другое имя, например $_SESSION['id_user']
Спустя 3 дня, 13 часов, 18 минут, 24 секунды (26.12.2009 - 13:19) NegreM написал(а):
Я бы тоже сделал как посоветовал inpost
В принцепи можно даже каждой фотке загруженой в таблице указывать кто владелец(id авторизированого пользователя).и если совпадают id'шки то выводить панель управления(удаление, редактирование..)
В принцепи можно даже каждой фотке загруженой в таблице указывать кто владелец(id авторизированого пользователя).и если совпадают id'шки то выводить панель управления(удаление, редактирование..)