gpt4 book ai didi

php - 添加 24 小时投票系统时遇到问题?

转载 作者:行者123 更新时间:2023-11-29 14:36:21 24 4
gpt4 key购买 nike

有一个脚本可以触发下面的代码

我想禁止每 24 小时多次执行该脚本。

我希望这个脚本根据数据库中的用户 ID 将上次访问时间存储在表中,然后进行时间计算并将其返回,直到 24 小时到期时间为止。

有人可以解释一下如何做到这一点吗?如果有人可以帮助我,我将不胜感激?

<?php
//Input correct values into this section
$dbhost = '888888';
$dbuser = '888888';
$dbpass = '888888';
$dbname = '888888';
$dbtable = 'redeem';
$dbtable2 = 'playersthatvoted';
//------------------------------------
$input = 'diamond 12';
$player = $_POST['Player'];
$time = time();
if(!isset($_COOKIE['24Hourvote'])){
//---- This is the connection
$conn = mysql_connect ($dbhost, $dbuser, $dbpass) or die ('Error: ' . mysql_error());
mysql_select_db($dbname);
$query1 = "INSERT INTO `".$dbname."`.`".$dbtable."` (`player`, `item`) VALUES ('".$player."', '".$input."')";
$query2 = "INSERT INTO `".$dbname."`.`".$dbtable2."` (`player`, `time`) VALUES ('".$player."', '".$time."')";
mysql_query($query1);
mysql_query($query2);
$query= 'SELECT `player` FROM `playersthatvoted` ASC LIMIT 0, 10 ';
$result = mysql_query($query);
mysql_close($conn);
echo 'Done! Type /redeem in-game to get your diamonds.';
$ip=@$REMOTE_ADDR;
setcookie ("24Hourvote",$ip,time()+86400,'/',true,…
} else {
echo 'You have already voted today! Come back later...'; }
?>

编辑:我可以让它显示用户再次投票之前的剩余时间吗?

最佳答案

对我来说,您似乎已经知道自己必须做什么:

I wanted this script to store the last visit time in a table against the user id in a database.Then do a time calculation and back them out until the 24 hour expiry time.

所以:

  1. 忘记 cookie 吧。它存储在客户端并且可以被操作。
  2. 在计票之前,请检查当前用户的 [lastvisit] 字段。
  3. 如果未设置,则计票并将表格中的 [lastvisit] 字段设置为当前日期。
  4. 如果设置,则计算从现在到最后一次投票之间的时间跨度。如果超过 24 小时,请统计投票并将表格中的 [lastvisit] 字段设置为当前日期。

注意:

  • 操纵参数:$_POST['Player'];
  • SQL 注入(inject):VALUES ('".$player."', '".$input."')

如果您在执行其中一项任务时遇到问题,请询问具体问题。

关于php - 添加 24 小时投票系统时遇到问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8952402/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com