Ошибка PHP HTML 500, связанная с объектом в массиве

<div id='post' style='display: none;'>
    <?php
    class User {
        public $id;
        public $counter;
        public $removed;
    }
    $dB = json_decode(file_get_contents('dataBase.json'), true);
    $dataBase = $dB['noob'][0];
    $userInDB = null;
    $user = new User();
    $user->id = (int)$_POST['id'];
    $user->counter = (int)$_POST['counter'];
    $user->removed = (bool)$_POST['removed'];
    foreach ($dataBase as $usr) {
        if ($usr['id'] == $user->id) {
            $userInDB = $usr
            break;
        }
    }
    if ($userInDB) {
        $userInDB[counter] = $userInDB[counter] + $user->counter
        $userInDB[removed] = $user->removed
    } else {
        array_push($dataBase, $user);
    }
    if (isset($_POST['id'])) { 
        $json = json_encode($user);
        echo $json;
    }
    $updateddB = json_encode($dB);
    file_put_contents('dataBase.json', $updateddB);
    ?>
</div>
<div id='get' style='display: none;'>
    <?php
    $id = (int)$_GET['id']
    $type = htmlentities($_GET['type'], ENT_QUOTES, 'UTF-8');
    $dB = json_decode(file_get_contents('dataBase.json'), TRUE);
    $dataBase = $dB['noob'][0];
    $response = FALSE
    foreach ($dataBase as $usr) {
        if ($type == 'id') {
            if ($usr['id'] == $user->id) {
                $response = TRUE
                break;
            }
        } else if ($type == 'counter') {
            if ($user['counter'] >= 1) {
                $response = TRUE
                break;
        } else if ($type == 'removed') {
            if ($user[id]) {
                $response = TRUE
                break;
            }
        }
    }
    echo $response;
    ?>
</div>

Я не знаю, почему я получаю ошибку 500, пока что она не показала ошибку, когда я удаляю все, кроме эха. Я попытался удалить только часть с json и повторением, но это все равно ничего не дало. Я также пробовал просто удалить раздел постов на php, ничего. Я попытался удалить все, кроме эха и присвоения false утверждения, но это не сработало! Это может быть просто проблема IIS.

Я пробовал использовать другой браузер, а именно Firefox, и он вообще ничего не отображал.

Помощь! Это json на всякий случай.

{
    "noob": [{
            "id": 593286196,
            "counter": 0,
            "removed": true
        },
        {
            "id": 256169534,
            "counter": 0,
            "removed": true
        },
        {
            "id": 516105343,
            "counter": 0,
            "removed": true
        },
        {
            "id": 520887461,
            "counter": 0,
            "removed": true
        },
        {
            "id": 162491701,
            "counter": 0,
            "removed": true
        },
        {
            "id": 352289153,
            "counter": 0,
            "removed": true
        },
        {
            "id": 469971590,
            "counter": 0,
            "removed": true
        },
        {
            "id": 83728091,
            "counter": 0,
            "removed": true
        },
        {
            "id": 34172132,
            "counter": 0,
            "removed": true
        },
        {
            "id": 35349812,
            "counter": 0,
            "removed": true
        }
    ],
    "igno": []
}

Ваш JSON недействителен, проверьте его: jsonlint.com ... Что записано в вашем журнале ошибок PHP?

caiovisk 10.07.2018 06:02

Я исправил JSON, где вы можете проверить журнал ошибок PHP?

Noober Noob 10.07.2018 06:09

См. Руководство: PHP error_reporting

caiovisk 10.07.2018 06:10

Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный «разрыв» (T_BREAK) в C: \ inetpub \ wwwroot \ dataBase \ data.php в строке 19

Noober Noob 10.07.2018 06:18

Я посмотрел туда, но не было ничего о неожиданном перерыве. О, я только что понял, что забыл точки с запятой и забыл конечную скобку smh.

Noober Noob 10.07.2018 06:22

$ userInDB = $ usr, если отсутствует ; ... поэтому обновите до $userInDB = $usr; в строке 17 ...

caiovisk 10.07.2018 06:27

Ошибки PHP довольно просты, всегда проверяйте журнал ошибок, прежде чем делать что-то еще ...

caiovisk 10.07.2018 06:29
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
7
34
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Строковые литералы JSON должны использовать обычные двойные кавычки (""), а не умные кавычки (“”) или одинарные кавычки ('').

Пытаться:

{
"noob":[
    {
        "id": 593286196, 
        "counter": 0, 
        "removed": true
    },
    {
        "id": 256169534,
        "counter": 0,
        "removed": true
    },
    {
        "id": 516105343,
        "counter": 0,
        "removed": true
    },
    {
        "id": 520887461,
        "counter": 0,
        "removed": true
    },
    {
        "id": 162491701,
        "counter": 0,
        "removed": true
    },
    {
        "id": 352289153,
        "counter": 0,
        "removed": true
    },
    {
        "id": 469971590,
        "counter": 0,
        "removed": true
    },
    {
        "id": 83728091,
        "counter": 0,
        "removed": true
    },
    {
        "id": 34172132,
        "counter": 0,
        "removed": true
    },
    {
        "id": 35349812,
        "counter": 0,
        "removed": true
    }
],
    "igno":[
    ]
  }

Другие вопросы по теме