Функция «Избранное» с использованием куки и сессий (PHP & CodeIgniter) - PullRequest
0 голосов
/ 14 июля 2011

Я пытаюсь реализовать функцию «Избранное» на своем сайте, и мне было интересно, как можно сохранить эти данные. То, что я хотел бы сделать, если это возможно, это иметь любимые вещи пользователя и хранить их в БД - таким образом, я мог бы использовать данные для персонализации результатов поиска.

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

Как бы я мог хранить эти данные в течение длительного периода времени? В настоящее время я использую зашифрованные сеансы БД, и я думал о том, чтобы продлить время сеанса или установить его, чтобы не истек. Это, вероятно, приведет меня к некоторым проблемам безопасности, нет?

Буду признателен за помощь,

Приветствие.

Ответы [ 2 ]

1 голос
/ 14 июля 2011

Хорошо, если я понимаю, что вы хотите, чтобы зарегистрированный пользователь мог установить «что-то» в качестве избранного, поскольку это отношение M: N (строго с точки зрения базы данных), я бы порекомендовал хранение таблицы эти отношения, т. е. предположим, что у вас есть пользователь и таблица тем, SQL будет выглядеть примерно так:

create table favorite(user_id integer not null references user, topic_id integer not null references topic);

По крайней мере, это то, что вам скажет большинство книг по БД. Если у вас нет пользовательской таблицы (я полагаю, у вас есть таблица для этого «чего-то», который вы хотите пометить как избранный), вы можете просто сохранить идентификатор, который вы назначаете пользователю, когда он / она входит в систему. Надеюсь, что помог.

1 голос
/ 14 июля 2011

Создание реальных пользователей из ваших анонимных сессий.Сохраняйте их в базе данных без учетных данных и связывайте избранное или что-то еще, что вы храните, с их идентификатором пользователя.Если они регистрируются до того, как очистят свои куки, вы просто добавляете их логин / профиль в существующий идентификатор пользователя, и все созданные ими фавориты уже находятся в нужном месте.Одна система для пользователей, вошедших в систему и вышедших из системы, а не для двух.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...