Доброго времени суток дорогие форумчане. При проектировании БД возникли некоторые вопросы. Когда делал таблицу для новостной ленты все было просто: Код (Text): id - уникальный номер поста date - дата создания author - уникальный id пользователя, создавшего пост head - заголовок поста body - содержимое поста Но при проектировании таблицы для гостевой возникла такая проблема: В новостях поле author целочисленного типа, соответствующее уникальному id пользователя из таблицы user, но в гостевой могут писать ВСЕ, даже незарегистрированные пользователи. Надумал заносить в author ip юзера, но как тогда быть с id пользователя? Ведь если пользователь прошел аутентификацию, то на его посте (или комментарии) должна быть ссылка на данного пользователя по его id. Или сделать поле author текстовым и заполнять как "id_"+user id и "ip_"+user ip соответственно? Или автоматически давать временную регистрацию для юзеров с присвоением id по ip и заносить в базу? С уважением Евгений.
Что-то вы утрируете важность ситуации. Если пользователь зарегистрирован, то ссылка на его профиль есть, если нет, то пользователь == "Гость". Регистрируясь, пользователь как бы дает добро на свою "публичность", а гостю - гостево. И ему совсем не понравится тот факт, что без его ведома, ему будут давать, пусть даже временную, но регистрацию. P.S. Кстати, про IP - это плохой вариант в принципе. Многие провайдеры выдают динамические IP-шники, которые со временем меняются у пользователя. А еще есть так называемые серые IP - это когда на одном IP может седеть десяток (если не больше) пользователей.
Вы не совсем верно поняли. Регистрации как таковой нет. Я лишь заношу в БД ip пользователя и выделяю ему уникальный id, который занесу в таблицу гостевых записей. С одной стороны можно было бы просто оставлять поле author в этом случае пустым, но тогда сложнее будет пресекать флуд, ибо защита через сессии обходится простым путем удаления куки.