2013-02-24 19 views
0

我有一個簡單的投票系統,在您投票後生成混洗代碼。 我有一個小回叫系統,檢查用戶是否投票在網站上。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); 
    } 

} 
+0

當你'var_dump()'它包含'$ check_GTL'時呢? – Ranty 2013-02-24 20:04:27

+0

'file_get_contents()':'該函數在失敗時返回讀取數據或FALSE。由於它明顯失敗,請回顯您查詢的網址並在瀏覽器中嘗試使用,並檢查錯誤日誌爲何失敗。 – Ranty 2013-02-24 20:11:07

+0

還值得檢查一下''_SERVER ['REMOTE_ADDR']'是你期望的。 – Jim 2013-02-24 20:38:53

回答

1

編輯:誤解了這個問題,要打破這一。

file_get_contents()返回一個布爾值而不是字符串。有巨大區別的:

if ($check_GTL == "true") 

和:

if ($check_GTL == true) 

你要後者。

+0

即使只是真的不起作用。 該腳本已經工作過,我不知道爲什麼它停止工作.. – 2013-02-24 20:04:40

+0

@Jonykale最有可能是因爲你得到的迴應已經改變? – Basic 2013-02-24 20:05:26

+0

運行'var_dump($ check_GTL)',看看你實際得到了什麼。 – 2013-02-24 20:06:03

相關問題