我在stackoverflow上搜索了这个,虽然我发现了这些内容,我没有发现任何真正有用的东西,所以我会自己提出这个问题。
所以我正在尝试在我的网站上为图像实现类似的按钮。但是我在弄清楚它是怎么回事时遇到了一些麻烦。
到目前为止,我在SQLI方面有这个:
CREATE TABLE if not exists `likes` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`image_id` varchar(300) NOT NULL,
`liker_username` varchar(50) NOT NULL,
`liked_unliked` enum('0','1') NOT NULL, DEFAULT '0'
PRIMARY KEY (`id`)
);
id
是其中的id,
image_id
是所喜欢图片的ID,
liker_username
是用户点击“赞”按钮的用户名,
liked_unliked
是该用户是否喜欢该图片(1表示喜欢,0表示不喜欢[确保用户只投票一次]。)
我已将image_id存储在photos
表中。
我被告知要在liker_username
和image_id
上添加一个唯一索引,以防止用户多次喜欢图像,但我只是想要第二个意见。
所以......到目前为止,我的所有内容是否正确?就像我说的那样,我试图得到它,以便用户可以点击类似按钮并像图像一样,但只有一次。任何帮助表示赞赏。感谢
答案 0 :(得分:1)
看起来你正走在正确的轨道上。
与其他用户说的一样,您可能会考虑使用包含用户数据和ID的users
表,并将外键liker_user_id放在likes
表中。您的图像ID也可以是外键,图像存储在images
表中。
如果用户未登录,您可以考虑允许匿名投票,每个地址一个,将IP地址添加到数据库。您可以通过以下方式获取用户IP地址:
$_SERVER['REMOTE_ADDR'];