php - 如何限制用户仅向 MySQL 插入数据 1 次
问题描述
我想建立一个有喜欢和不喜欢按钮的博客。我的问题是当用户点击喜欢按钮时,我实际上不能限制他不再这样做,也不能一次又一次地喜欢帖子。我使用 ajax( $.post
) 和 JQuery 来插入数据。
我怎样才能做到这一点?我需要更改我的数据库结构吗?
var did_liked = 0;
$("#insert_like").click(function (e) {
var post_id = $("#post_id").val();
did_liked +=1 ;
if (did_liked == 1) {
$.post("./inc/like.php", {
post_id_like: post_id
}, function (data, status) {
$("#insert_like").text(data);
});
}
});
$("#insert_dislike").click(function (e) {
var post_id = $("#post_id").val();
$.post("./inc/like.php", {
post_id_dislike: post_id
}, function (data, status) {
$("#insert_dislike").text(data);
});
});
有了did_liked
我可以防止用户再次不喜欢它,但如果他刷新页面,他可以这样做。
我的数据库:
解决方案
用 userID、LikedPostID、DislikedPostID 列创建一个表。在你可以检查这个之后:
SELECT LikedPostID, DislikedPostID FROM tblUserLikes WHERE userID='$user'
在 PHP 中
if ($LikedPostID == $thisPostID || $DislikedPostID == $thisPostID) { // make a like or dislike button to disable state }
推荐阅读
- android - android中的恒定涟漪效应
- django - 如何在不打开“允许不太安全的应用程序”设置的情况下从 Gmail 发送电子邮件?
- javascript - 如何阻止 VueJS S3 Deploy 重新上传静态文件?
- sql - SELECT \ FROM AnyTableName
- sql-server - Counting lack of a condition when joining tables
- c++ - 错误:未在此范围内声明“imread”
- c# - 我无法获得标签标签
- database - How to store trip itinerary data into DynamoDB?
- opengl - 几何着色器可以访问 OpenGL 剔除和正面设置吗?
- python - using boto3 to get file list and download files