我有一个简单的投票系统,在您投票后会生成一个随机播放的代码。 我有一个小回调系统,检查用户是否在网站上投票。
看起来像这样:
http://gamingtoplist.net/?hasvoted=187&ip=82.81.33.168
187 =顶部列表中的服务器ID IP =刚刚投票的IP。
如果在转到此页面时显示为true,则表示IP已投票支持该服务器ID。 如果它显示为false,则表示IP尚未投票支持服务器ID。
我刚刚投了票,正如你所看到的那样真实。
现在检查我是否投票:
if (isset($_POST['submit'])) {
$check_GTL = file_get_contents("http://gamingtoplist.net/?hasvoted=187&ip=".$_SERVER['REMOTE_ADDR']);
if ($check_GTL != "true") {
$errors[] = "Sorry, but it seems like you haven't voted on all links, please contact Jony.";
}
该行检查您是否已投票:
$check_GTL = file_get_contents("http://gamingtoplist.net/?hasvoted=187&ip=".$_SERVER['REMOTE_ADDR']);
但由于某些随机原因,脚本告诉我check_GTL不是'true'。 但事实确实......
它出了什么问题?
谢谢!
全部:
if (isset($_POST['submit'])) {
$check_GTL = file_get_contents("http://gamingtoplist.net/?hasvoted=187&ip=".$_SERVER['REMOTE_ADDR']);
if ($check_GTL != "true") {
$errors[] = "Sorry, but it seems like you haven't voted on all links, please contact Jony.";
}
if($check_GTL == "true") { // if($votes > 0 && $check_GTL == "true") { disab led $votes cause runelocus didnt work lately for some reason.
$insert = "INSERT INTO votes(auth, ip, received, time) VALUES('".$auth."', '".$_SERVER['REMOTE_ADDR']."', '0', '".time()."')";
$insert = $connect->query($insert) or die(mysqli_error($connect));
echo '<center><div class="movingerror" style="color: yellow">Thank you for voting! Your auth is <b>'.$auth.'</b>. Please type ::auth '.$auth.' to claim your reward</div></center>';
$file = fopen("votes.txt", 'w');
fwrite($file, --$votes);
fclose($file);
}
}
答案 0 :(得分:1)
编辑:误解了这个问题,请点击这个。
file_get_contents()返回布尔值而不是字符串。之间存在巨大差异:
if ($check_GTL == "true")
和
if ($check_GTL == true)
你想要后者。