#php #массивы #json
Есть html страница с 3 input-и type="radio"(один из них submit), при выборе одного и нажатия на подтверждающую кнопку данные какая кнопка выбрана обрабатываются php скриптом и записываются в json файл. Но проблема в том, что когда один раз выбираешь первый а потом второй то в файл записывается вместо одной из цифр(кол-ва нажатий конкретно на этот input) какие-то знаки.Переменные $yes и $no меняются в зависимости от того как часто нажимали на каждую из кнопок. Вот весь код phpВот весь код php $yes, 'Bad: ' => $no ]; $pretty = json_encode($insertvote, JSON_PRETTY_PRINT); $fp = fopen($filename,"w"); fputs($fp,$pretty); fclose($fp); ?> Вот вывод json файла { "Good: ": "{\n", "Bad: ": 1 }How are you?
Ответы
Ответ 1
Проблема в том, что Вы не декодируете json перед использованием: $content = json_decode(file_get_contents($filename), true) ?: ['Good' => 0, 'Bad' => 0]; if ($vote == 0) $content['Good'] += 1; if ($vote == 1) $content['Bad'] += 1; file_put_contents($filename, json_encode($content));
Комментариев нет:
Отправить комментарий