Ссылка на редактирование

Тема в разделе "Как сделать...", создана пользователем vitek_gagra, 20 фев 2013.

  1. vitek_gagra

    vitek_gagra Создатель

    Регистр.:
    7 янв 2009
    Сообщения:
    47
    Симпатии:
    12
    Здравствуйте уважаемые форумчане, подскажите как реализовать такую вещь.

    Нужно сделать что бы ссылка на редактирование объявления была видна и доступна только автору объявления?

    Сейчас сделал показ авторизованному пользователю только, не авторизованные не видят ссылку.
    Код:
    if(isset($_SESSION['user']))
        {
            echo "<div id=\"buttons\">
                        <div id=\"edit\" class=\"button_gray\"><a href=\"/transport/uniq/".$res_u['mess_id']."/\">Редактировать объявление</a></div>
                        <div id=\"spec\" class=\"button_gray\"><a href=\"#\">Добавить в спецразмещение</a></div>
                        <div id=\"up\" class=\"button_gray\"><a href=\"#\">Поднять объявление</a></div>
                </div>";
        }
        else
            echo "";
    У пользователя email он же логин. В объявление логин обязательный для заполнения стоит.
    Думаю как вариант сравнивать эмайл авторизованного пользователя и эмайл в объявление.
    Но не знаю как это правильно в коде написать.
     
  2. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.723
    Симпатии:
    2.098
    какие поля доступны для пользователя и сообщения? по идее у сообщения должно быть что-то типа author_id и у вас есть _session['user'], можно просто при логине записывать в сессию айди пользователя и сравнивать значения автора темы и идентификатор пользователя в сессии, если совпадают - то он является автором и может редактировать объявление.

    будет что-то типа
    isset($_SESSION['user_id'] && intval($_SESSION['user_id']) == intval($res_u['author_id']))
     
    vitek_gagra нравится это.
  3. vitek_gagra

    vitek_gagra Создатель

    Регистр.:
    7 янв 2009
    Сообщения:
    47
    Симпатии:
    12
    Спасибо, помогло, правда заместо user_id author_id сравнил эмайл.

    А еще такой вопрос. У меня в движке сделано что для того что бы редактировать объявление, надо было ввести капчу и пароль. Сейчас задача так сделать что бы не чего не вводить, но редактировать мог только автор. Показ ссылки автору сделал, а как мне теперь дальше быть? Как сделать на странице редактирования объявления что бы проверялось что это автор. Или так же, но еще добавить else и запрет доступа если не автор
     
  4. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.723
    Симпатии:
    2.098
    опять таки по переменной в сессии, если на странице редактировани есть пост с даными редактирования и айди пользователя совпадает с автором объявления тогда изменить значения в базе