Крот
Новичок
Как лучше всего реализовать возможность пользователя редактировать последний коммент?
Приветы!
Интересно, как реализовано на том же Youtube возможность пользователя редактировать свой последний комментарий?
Ну, допустим, я написал текст комментария, отправил. Произошел ajax запрос, комметарий добавился, в DOM прописался HTML код комментария с кнопкой Edit.
Но если я делаю рефреш страницы, то кнопки Edit уже нету; прямой запрос разумеется уже не отправить, т.к. срабатывает защита.
Как реализована эта защита?
Мне кажется, что пользователю в сессию записывается какая-то переменная, назовем ее $_SESSION['checker']. Эта переменная меняется каждый раз, когда пользователь посещает новую страницу сайта. Если пользователь создал комметарий, то в таблицу комметариев пишется что-то типа comment_id, user_id, body, checker_value
где checker_value - значение переменной $_SESSION['checker'] на момент создания комментария. И редактировать этот комментарий можно только в том случае, если значение checker_value из таблицы совпадает с $_SESSION['checker'].
Может быть есть более правильные способы реализации такого механизма? Без доп. поля и т.д.
А если с полем, то какого типа данных его лучше вообще делать ( crc32(time() + 'abrakadabra' )?
Вот, может быть кто-то встречался с аналогичной проблемой?
Спасибо!
Приветы!
Интересно, как реализовано на том же Youtube возможность пользователя редактировать свой последний комментарий?
Ну, допустим, я написал текст комментария, отправил. Произошел ajax запрос, комметарий добавился, в DOM прописался HTML код комментария с кнопкой Edit.
Но если я делаю рефреш страницы, то кнопки Edit уже нету; прямой запрос разумеется уже не отправить, т.к. срабатывает защита.
Как реализована эта защита?
Мне кажется, что пользователю в сессию записывается какая-то переменная, назовем ее $_SESSION['checker']. Эта переменная меняется каждый раз, когда пользователь посещает новую страницу сайта. Если пользователь создал комметарий, то в таблицу комметариев пишется что-то типа comment_id, user_id, body, checker_value
где checker_value - значение переменной $_SESSION['checker'] на момент создания комментария. И редактировать этот комментарий можно только в том случае, если значение checker_value из таблицы совпадает с $_SESSION['checker'].
Может быть есть более правильные способы реализации такого механизма? Без доп. поля и т.д.
А если с полем, то какого типа данных его лучше вообще делать ( crc32(time() + 'abrakadabra' )?
Вот, может быть кто-то встречался с аналогичной проблемой?
Спасибо!
