2014-01-30 59 views
-5

我有這個PHP否則,如果語句中的錯誤(這是一部分的if語句):PHP意外的語法錯誤

Parse error: syntax error, unexpected '}' in /home1/tony1964/public_html/2v2tournaments/action.php 

的地方,意外的「}」在下面的代碼結束。我無法弄清楚爲什麼這不起作用。預先感謝您的幫助。

else if (isset($_GET['do']) && $_GET['do'] === "reg_type_2") { 

     include('php-riot-api.php'); 
     $summoner_name_input = $_POST['summonername']; 
     $summoner_name = str_replace(' ', '_', $summoner_name_input); 
     $summoner_region = $_POST['summonerregion']; 
     $verify_code_input = $_POST['verify_code']; 
     $verify_code = str_replace(' ', '_', $verify_code_input); 
     $instance = new riotapi($summoner_region); 
     $grab_data = $instance->getSummonerByName($summoner_name); 
     $decode_data = json_decode($grab_data); 
     $grab_id = $decode_data->{'id'}; 
     var_dump($grab_id); 
     $grab_runes = $instance->getSummoner($grab_id,'runes'); 
     $decode_runes = json_decode($grab_runes); 
     $rune_check = $decode_runes->{'name'}; 

     if ($rune_check = $verify_code) { 
      $logged_user = $_SESSION['logged_user']; 

     if (!($stmt = $con->prepare("INSERT INTO `verified_summoners` (`Username`,`SummonerName`,`SummonerRegion`) VALUES (?,?,?)")) || !is_object($stmt)) { 
      die("Error preparing: (" .$con->errno . ") " . $con->error); 
     } 

     $stmt->bind_param('sss', $logged_user, $summoner_name, $summoner_region); 

     if($stmt->execute()) { 
      echo "Successfully Verified! Check out your new list! <a class='content' href='index.php'><span class='button color_yellow'>Return</span></a>"; 

     } else { 
      echo "Unsuccessful INSERT, Contact Support or Try again..."; 
     } 

     $stmt->close(); 
    } 

} else { 

    echo "O Dear, It didn't work! Try Again!"; 
} 

}

+3

如果你不屑於正常縮進你的代碼,你可能能夠看到那裏的不平衡'{'和' } ......這顯然只是一個簡單的錯字,所以投票結束。 –

+0

該代碼在Dreamweaver中縮進,我刪除縮進,因爲我傾向於當我縮進時收到投訴。 – Night

+0

@Night當您縮進時,您會收到投訴?!?我發現這很難相信,因爲如果代碼格式正確,你不僅會很容易發現錯誤,但我不能相信有人向你抱怨正確**格式化的代碼。 – Ryan

回答

5

格式化您的代碼會回答你的問題要問你。

else if (isset($_GET['do']) && $_GET['do'] === "reg_type_2") { 
    include('php-riot-api.php'); 
    $summoner_name_input = $_POST['summonername']; 
    $summoner_name = str_replace(' ', '_', $summoner_name_input); 
    $summoner_region = $_POST['summonerregion']; 
    $verify_code_input = $_POST['verify_code']; 
    $verify_code = str_replace(' ', '_', $verify_code_input); 
    $instance = new riotapi($summoner_region); 
    $grab_data = $instance->getSummonerByName($summoner_name); 
    $decode_data = json_decode($grab_data); 
    $grab_id = $decode_data->{'id'}; 
    var_dump($grab_id); 
    $grab_runes = $instance->getSummoner($grab_id,'runes'); 
    $decode_runes = json_decode($grab_runes); 
    $rune_check = $decode_runes->{'name'}; 

    if ($rune_check = $verify_code) { 
     $logged_user = $_SESSION['logged_user']; 

     if (!($stmt = $con->prepare("INSERT INTO `verified_summoners` (`Username`,`SummonerName`,`SummonerRegion`) VALUES (?,?,?)")) || !is_object($stmt)) { 
      die("Error preparing: (" .$con->errno . ") " . $con->error); 
     } 

     $stmt->bind_param('sss', $logged_user, $summoner_name, $summoner_region); 

     if($stmt->execute()) { 
      echo "Successfully Verified! Check out your new list! <a class='content' href='index.php'><span class='button color_yellow'>Return</span></a>"; 
     } else { 
      echo "Unsuccessful INSERT, Contact Support or Try again..."; 
     } 
     $stmt->close(); 
    } else { 
     echo "O Dear, It didn't work! Try Again!"; 
    } 
} 

-

$stmt->close(); 
} 
} 

應該

$stmt->close(); 
} 
+0

其實這是錯誤的,額外的大括號是最後一個 – meda

+0

@meda閱讀我的帖子中的代碼,它看起來對我來說很好。在OP提供的信息量很少的情況下,我認爲它可能是我刪除的那個,或者是最後一個。這取決於(很好的措詞)「O親愛的,它沒有工作!再試一次! 「''應該會出現 – Ryan

+0

再看一遍他的代碼,最後一句話有兩個大括號,是的,但是你很難說,因爲我們看不到前面的行 – meda