PHP добавить данные в JSON
Всем Привет. Код вроде работает, но не добавляет в json файл, а просто заменяет данные... то есть получается не список, а просто показывает последние данные в json файле. Как делать список, что не так?
<?php
$message = '';
$error = '';
if (isset($_POST['submit'])){
if (empty($_POST['name'])){
$error = "<label class='text-danger'>Please, write name</label>";
}else if (empty($_POST['login'])){
$error = "<label class='text-danger'>Please, write login</label>";
}else if (empty($_POST['email'])){
$error = "<label class='text-danger'>Please, write email</label>";
}else if (empty($_POST['password'])){
$error = "<label class='text-danger'>Please, write password</label>";
}else{
if (file_exists('data.json')){
$current_data = file_get_contents('data.json');
$data = json_decode($current_data, true);
$register = array(
'name' => $_POST['name'],
'login' => $_POST['login'],
'email' => $_POST['email'],
'password' => $_POST['password']
);
$data = $register;
$result_data = json_encode($data);
if (file_put_contents('data.json', $result_data)){
$error = "<label class='text-success'>File append successfully</label>";
}
}else{
$error = 'JSON file not exists';
}
}
}
?>
Ответы (1 шт):
Автор решения: Social Emotion
→ Ссылка
Замените
if (file_put_contents('data.json', $result_data)){
на
if (file_put_contents('data.json', $result_data.PHP_EOL, FILE_APPEND))