Помощник
|
Ссылка на редактирование |
vitek_gagra
|
Сообщение
#1
|
||
|
|
||
|
|||
kev |
20.2.2013, 22:38;
Ответить: kev
Сообщение
#2
|
|
А у вас самопис? Или какая-то CMS используется? Как вариант можно присваивать объявлению уникальный номер, который заносить и пользователю... ну и делать проверку на этот номер.
-------------------- |
|
|
vitek_gagra
|
Сообщение
#3
|
|
kev, у меня самопис. А как тогда быть если пользователь несколько объявлений добавил?
-------------------- |
|
|
tszyan |
21.2.2013, 18:22;
Ответить: tszyan
Сообщение
#4
|
|
vitek_gagra,
Если Вас интересует как ПРАВИЛЬНО, то Вам необходимо нормализовать вашу БД. (Нормальная форма (вики)) В итоге в таблицу с объявлением будет писаться не e-mail, а идентификатор(целое положительное число) пользователя. Да и во всех других таблицах, где необходима связь с конкретным пользователем будет использоваться этот идентификатор. Чуть подробнее: Откуда берется этот идентификатор? Он должен быть в любой таблице вашей БД, т.е. каждой записи должен автоинкрементом присваиваться идентификатор. И когда вы работаете с несколькими таблицами, связь их должна происходить не через сравнение осмысленных данных, а через внутренние идентификаторы, которые должны храниться в соответствующих таблицах. Пример: CREATE TABLE `users` ( `id` MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `username` VARCHAR(20) NOT NULL, `password` VARCHAR(40) NOT NULL, `email` VARCHAR(80) NOT NULL ) ENGINE InnoDB; CREATE TABLE `advertisements` ( `id` MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `title` VARCHAR(200) NOT NULL, `text` TEXT NOT NULL, `user_id` MEDIUMINT(8) UNSIGNED NOT NULL, FOREIGN KEY (user_id) REFERENCES user(id) ) ENGINE InnoDB; Таким образом в поле user_id таблицы advertisements будет храниться идентификатор пользователя (поле id таблицы users). И Вы будите проверять совпадает ли user_id объявления с идентификатором аутентифицированного пользователя. Если Вам нужно неправильно, но чтобы работало - сравнивайте email'ы (не забудьте привести регистр и обрезать пробелы - хотя зависит от того чем вы сравниваете и какая кодировка в базе). Более того, после редактирования, и получения новых значений от пользователя не забудьте перед внесением изменений в базу проверить еще раз - тот ли это пользователь. Сообщение отредактировал tszyan - 21.2.2013, 18:26 |
|
|
vitek_gagra
|
Сообщение
#5
|
|
tszyan, мне нужно что бы при добавление объявления (http://avtodvordv.commfort-board.com/add_auto/) пользователь ввел логин и пароль. Объявление добавилось и пользователь зарегистрировался. Это реализовал. Потом что бы зарегистрированный и авторизованный пользователь мог редактировать свое объявление без вводов всяких паролей и логинов. Просто нажав на свое объявление в личном кабинете редактировать.
-------------------- |
|
|
tszyan |
21.2.2013, 18:44;
Ответить: tszyan
Сообщение
#6
|
|
vitek_gagra,
И какие вопросы остались? Сессия у вас есть, значит можете в ней хранить идентификатор пользователя и по нему проверять его ли это объявление или нет и выводить соответствующую ссылку. Если надо еще в ЛК добавить редактирование собственных объявлений, то выводите их просто сделав выборку по тому же идентификатору пользователя. SELECT * FROM `advertisements` WHERE `user_id`=? В качестве параметра подставляете все тот же идентификатор аутентифицированного пользователя. Если пользователь аутентифицировался 1 раз, зачем ему второй раз вводить логин и пароль. Но понятное дело 1 раз за сессию - придется. Сообщение отредактировал tszyan - 21.2.2013, 18:53 |
|
|
vitek_gagra
|
Сообщение
#7
|
|
tszyan, а как в mysql запрос сделать что бы при добавление объявления в запросе подставлялся эмайл и пароль из сессии авторизованного пользователя? Эмайл хранится в сессии здесь $_SESSION['user'] а пароль как сделать что бы подставлялся в запрос?
-------------------- |
|
|
tszyan |
21.2.2013, 19:13;
Ответить: tszyan
Сообщение
#8
|
|
|
Во-первых, Вам не нужно подставлять пароль, т.к. сессия храниться на стороне сервера и если в ней записано что пользователь аутентифицирован, то это факт. Берете мыло из сессии (если Вы решили не заморачиваться идентификаторами) и подставляете его в запрос с добавлением объявления.
Во-вторых, пароль должен храниться в виде хэша, т.е. расшифровать и подставить его куда-либо не должно быть возможным. В-третьих, у меня такое ощущение, что Вы не можете ясно объяснить в чем у Вас проблема. Если это так - киньте в ЛС аську или скайп - продолжим.
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Вечные ссылки с 300+ СДЛов, тиц до 750, ЯКи, DMOZ, от 1$/ссылка вечные ссылки |
259 | SeoUaSales | 129351 | 30.3.2024, 18:27 автор: Hillel_Silver |
|
Вечная статейная трастовая ссылка ИКС 20000 чектраст 100/2.5 | 22 | inetuser | 11050 | 2.1.2024, 17:18 автор: inetuser |
|
Одна вечная ссылка 5$ ИКС 24000 | 2 | mylink1 | 5979 | 8.4.2020, 17:39 автор: mylink1 |
|
Не дорогая ссылка размещу ссылку дешего |
1 | Heavych | 5760 | 14.10.2019, 8:59 автор: Silverspam |
|
Нужны вечные ссылки на adult сайты, до 500р ссылка | 2 | RMak | 5264 | 23.2.2019, 16:26 автор: Trastik |
Текстовая версия | Сейчас: 25.4.2024, 23:01 |