PHP/MYSQL IP 检查/记录器
好的,我有一个我的世界服务器,我正在为其制作一个投票脚本。
我需要一种方法来检查 mySQL 中的用户 ip。 如果不存在,则会将该 IP 放入数据库中,并在数据库中 24 小时后将其删除。
如果有人可以帮助我做到这一点,那就太好了,谢谢
Ok, ive got a minecraft server and im making a voting script for it.
I need a way to check the users ip in a mySQL.
If it doesn't exist it will put the ip in the database, and it will remove it after 24 hours in the database.
If anyone could help me do this, it would be great, thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
网上有很多关于如何实现这一点的教程,因此我不会给你代码。只需一些提示即可帮助您入门。
在 PHP 中,您可以从
$_SERVER
超全局中获取用户的 ip 地址来检查它是否存在于您的表中
如果不存在,则使用
INSERT
命令存储它带有时间戳。至于 24 小时后删除,您可以设置一个 cron 作业,每小时左右运行一次表,并删除所有已过期的条目。但是,不删除这些条目会更容易。相反,当用户投票时,只需检查他上次投票的时间戳即可。如果距离上次投票已经过去了 24 小时,则只需更新时间戳即可。
基本上,工作流程是:
There are plenty of tutorials online on how to achieve this, thus I wont give you the code. Just a few hints to get you started.
In PHP, you can get the user's ip address from the
$_SERVER
superglobalTo check if it exists in your table
If it does not exist, store it using the
INSERT
command along with a timestamp.As for removing after 24 hours, you can set up a cron job that runs through the table every hour or so and removes all entries that have expired. However, it would be easier to not remove the entries. Instead, when a user votes, just check the timestamp of his last vote. If 24 hours have passed since the last vote, just update the timestamp.
Basically, the workflow would be:
最简单的方法是执行以下
操作:如果您有不同的投票,则每个投票都应该有不同的唯一 ID。例如,MySQL 表之前有两列
ip
和timestamp
,应该再多一列voteid
。在这种情况下,上面的代码将更改为The easiest way is to do the following
ps: If you have different votings, each of them should have different unique ID. and the MySQL table, which had before two columns
ip
andtimestamp
, should have one more columnvoteid
, for example. In that case the code above will change to