2016-12-27 5 views
-1

В настоящее время я получаю эту ошибку:PHP Закрыть блок кода ошибки

SyntaxError: expected expression, got '}' - line 14, col 1

В ответ на этот код блока:

<?php 
include_once("base.php"); 
if(empty($_GET)) { 
    $sql = "SELECT * FROM segth"; 
    $q = mysqli_query($link, $sql); 
    if ($r = mysqli_fetch_array($q)) { 
     echo "<table border='1'><tr><th>" . $r [1] . "</th></tr> 
     <tr><td>$" . $r[2] . "</td></tr><tr><td><input type='text' id='u0name' placeholder='Adjust " . $r [1] . "s Cash' onKeyPress='preupd(event, 0)' /></td></tr></table>"; 
    } 


    while ($r = mysqli_fetch_array($q)) { 
     echo "<table class='norm' border='1'><tr><th>" . $r[1] . "</th></tr><tr><td>$" . $r[2] . "</td></tr><tr><td><input type='text' id='u0name' placeholder='Adjust " . $r [1] . "s Cash' onKeyPress='preupd(event, " . $r [1] . ")' /></td></tr></table>"; 
    } 
} else { 
    echo "<h1 align='center'>New Game</h1>"; 
    echo "<table border='1'> 
        <tr><th>Names</th></tr>"; 
    for($i=0;$i<8;$i++) { 
        echo "<tr><td><input id='u" . $i . "name' placeholder='Player " . ($i+1) . "s Name' /></td></tr>"; 
     } 
     echo "<tr><td><button value='Start' onClick='strt()'>Start</button></table>"; 
    } 
    ?> 

Я попытался удалить несколько кодовых скобки со всего места нарушившей , но проблема, по-видимому, происходит вокруг строки 14, которая является той же строкой, что и оператор else. В настоящее время я использую Notepad ++ для редактирования этого файла, и поэтому у меня есть способ увидеть, где начинается и заканчивается блок кода eah, выделяя любые { или }, и он будет выделять соответствующее начало или конец, и здесь нет сирот. Я просто не понимаю, почему я получаю эту ошибку.

Эта ошибка приводит к тому, что мои скрипты не отображаются, если в массиве $ _GET есть что-то, что вызывает проблемы.

+0

Не могу точно сказать, так как ваше форматирование немного выключено, но похоже, что вы пытаетесь сделать «пока» с другим. Это не действительная структура управления php. Я также рекомендую изучить использование чего-то, что укажет на синтаксические ошибки, подобные этому. – patricksweeney

+2

Возможный дубликат [PHP Parse/Syntax Errors; и как их решить?] (http://stackoverflow.com/questions/18050071/php-parse-syntax-errors-and-how-to-solve-them) – Chris

+1

Поскольку это ошибка javascript вместо ошибки PHP, посмотрите исходный код в браузере, чтобы узнать, что генерируется. – aynber

ответ

2

Кажется, у вас есть проблемы с пробелами в строке 13.

echo "<table class='norm' border='1'><tr><th>" . $r[1] . "</th></tr><tr><td>$" . $r[2] . "</td></tr><tr><td><input type='text' id='u0name' placeholder='Adjust " . $r[1] . "s Cash' onKeyPress='preupd(event, " . $r[1] . ")' /></td></tr></table>"; 

я справился код и обнаружил пробелы между $ г и [1] на третьем и четвертом possitions. И есть места в некоторых других местах.

+0

Я пропустил это, чертов телефонные редакторы! я теперь внесла поправки в код, как и должно быть, однако, я все еще получаю тот же код ошибки для той же позиции. – user2195574

0

Ваш код, кажется, while, else. else не работает с while. Если это ошибка, попробуйте удалить закрывающий кронштейн чуть выше цикла while. Если это не сработает, как вы намеревались это сделать, вам может понадобиться немного изменить структуру кода.

+0

Остальное для if, если на линии 3. Это время полностью закрыто внутри if. – aynber

+0

Извините, мои извинения, я неправильно прочитал ваш код. Я считаю, что у ALexander есть правильный вариант. – Jam1e