我有一個簡單的投票系統,在您投票後生成混洗代碼。 我有一個小回叫系統,檢查用戶是否投票在網站上。PHP檢查值是否爲真,如果是這樣做 - 不起作用
是這樣的:上面的列表 IP上
http://gamingtoplist.net/?hasvoted=187&ip=82.81.33.168
187 =服務器ID =剛剛投票的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不是'真正'。 然而這是真的......
它有什麼問題嗎?
謝謝!
所有這一切:
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);
}
}
當你'var_dump()'它包含'$ check_GTL'時呢? – Ranty 2013-02-24 20:04:27
'file_get_contents()':'該函數在失敗時返回讀取數據或FALSE。由於它明顯失敗,請回顯您查詢的網址並在瀏覽器中嘗試使用,並檢查錯誤日誌爲何失敗。 – Ranty 2013-02-24 20:11:07
還值得檢查一下''_SERVER ['REMOTE_ADDR']'是你期望的。 – Jim 2013-02-24 20:38:53