Есть html
страница с 3 input-и type="radio"
(один из них submit), при выборе одного и нажатия на подтверждающую кнопку данные какая кнопка выбрана обрабатываются php
скриптом и записываются в json
файл. Но проблема в том, что когда один раз выбираешь первый а потом второй то в файл записывается вместо одной из цифр(кол-ва нажатий конкретно на этот input
) какие-то знаки.Переменные $yes и $no меняются в зависимости от того как часто нажимали на каждую из кнопок. Вот весь код php
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="poll">
<h3>How are you?</h3>
<form action="script.php" method="post">
Good:
<input type="radio" name="vote" value="0">
<br> Bad:
<input type="radio" name="vote" value="1">
<br>
<input type="submit">
</form>
</div>
</body>
</body>
</html>
Вот весь код php
<?php
$vote = $_POST['vote'];
$filename = "data.json";
$content = file($filename);
$array = explode(",", $content[0]);
$yes = isset($array[0]) ? $array[0] : 0;;
$no = isset($array[1]) ? $array[1] : 0;;
if ($vote == 0) {
$yes += 1;
}
if ($vote == 1) {
$no += 1;
}
$insertvote =
[
'Good: ' => $yes,
'Bad: ' => $no
];
$pretty = json_encode($insertvote, JSON_PRETTY_PRINT);
$fp = fopen($filename,"w");
fputs($fp,$pretty);
fclose($fp);
?>
Вот вывод json
файла
{
"Good: ": "{\n",
"Bad: ": 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));
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
На сайте, разработанном с помощью CMS WordPress, установлена форма обратной связи CONTACT FORM 7, все настроено, разрешено отправлять файлы до 50 mb, к отправке...
Задача следующая: Есть таблица nap (общая точка доступа и хранения информации)Есть алгоритмы: 1
Привет всем! Частая проблема, прочитал много по этому поводу но так нифига и не понял