gpt4 book ai didi

php - 如何限制mysql中number的最大值?

转载 作者:行者123 更新时间:2023-11-30 21:33:43 24 4
gpt4 key购买 nike

我一直在创建一个投票系统,我注意到用户在注销后仍然可以再次投票。
我想要做的是添加一个变量来投票,现在按钮,并将其最大值设置为 1 以防止用户再次投票。

有什么建议或方法可以实现这一点,让用户无法再次投票吗?

$errors = array(); 
$db = mysqli_connect("localhost", "root", "", "registration");
if (isset($_POST['votenow'])) {
$user_check_query = "SELECT * FROM users WHERE votenow = '$votenow'";
$votenow = "update users set votenow = votenow + 1";
$run_vote = mysqli_query($db, $votenow);
if ($votenow > 1 ) {
echo "No more votes can be added.";
}
if ($run_vote) {
header( "Location: renewsys3.php" );
}
}

我也一直在尝试这个,但用户仍然可以再次投票。投票限制为 1 票,但用户仍被重定向到下一页而不是返回。 renewsys2re 是当前页面,renewsys3 是下一页。

<?php
$errors = array();
$db = mysqli_connect("localhost","root","","registration");

if(isset($_POST['votenow']))
{

$votenow = "update users set votenow = votenow + 1 where votenow < 1
LIMIT 1";

$run_vote = mysqli_query($db,$votenow);

if ($votenow == 2 ){
echo '<script type="text/javascript">alert("Once!");</script>';
header ("Refresh:0; url=renewsys2re.php");
}

else{
echo '<script type="text/javascript">alert("Welcome!");</script>';
header ("Refresh:0; url=renewsys3.php");
}
}
?>

最佳答案

您必须在用户登录和注销后维护 $_SESSION 变量。您必须存储和比较 user_id 并将检查投票的查询修改为$user_check_query = "SELECT * FROM users WHERE user_id=:user_id and votenow=:votenow";

使用bindparams从 sql 注入(inject)中添加安全性。

关于php - 如何限制mysql中number的最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54948884/

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