gpt4 book ai didi

php - 检查访问者IP是否在MySQL中

转载 作者:行者123 更新时间:2023-11-29 19:32:39 24 4
gpt4 key购买 nike

我正在尝试为广播电台制作歌曲请求表,但他们不希望发送垃圾邮件。我已经完成了表格等,这非常简单,但我正在努力做到这一点...如果访客请求一首歌曲,该请求将存储在数据库中,以便 DJ 可以检查它。我希望 DJ 必须单击“已播放”才能再次允许同一访问者请求,否则将不允许同一 IP 再次请求。

问题是,检查 IP 是否存在不起作用。

这里是代码,它可能是一个简单的修复......

<?php include "db.php"; ?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h3> Request a song</h3>
<?
$ip = mysql_real_escape_string($_SERVER['REMOTE_ADDR']);
$query = "SELECT * FROM requests WHERE ip='". $_SERVER['REMOTE_ADDR'] ."'";
$result = mysql_query($query);

if (mysql_num_rows($result) > 0) {
echo "<form action='thankyou.php' method='post'>
Your Name:<br>
<input type='text' name='name' required><br>

Artist:
<input type='text' name='artist' required><br>

Song:<br>
<input type='text' name='song' required><br>

Message:<br>
<input type='text' name='message' required><br>
<input type='submit' value='Submit'><br>
</form>";
}
else {
echo "Your song hasn't been played yet.";
}
?>

</body>
</html>

提前致谢。

最佳答案

目前,您已经拥有;

// $result = Do query
if(mysql_num_rows($result) > 0) {
// Show the form
} else {
// Show 'Already Requested' message
}

但是,当这似乎与您想要的相反时,这将向那些在表中找到 IP 地址的人显示表单。

试试这个;

// $result = Do query
if(mysql_num_rows($result) == 0) {
// Show the form
} else {
// Show 'Already Requested' message
}

现在,仅当查询返回的行数为 0 时才会显示表单。

您还需要在 SQL 中添加对 played 标志的检查。并听取一些评论;

关于php - 检查访问者IP是否在MySQL中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41701635/

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