Всем привет!
Все, вроде, работает как надо, но Запись в конец массива идет с дублем.
Вот ПХП:
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("applications");
?>
<div class="container">
<?
$usr_phone = $_POST['phone'];
$start_status = 'Новая';
$question_status = 'Рассмотрено';
$cur_date = date('d.m.y H:i:s');
$usr_message = $_POST["usr_message"];
//$mnr_message = $_POST["mnr_message"];
$email = $_POST["email"];
$phone = $_POST["phone"];
$name = $_POST['name'];
$city = $_POST['city'];
/* *** write ***
*** update *** */
if (!empty($_POST['name'])) { // если имя не пустое
$file = file_get_contents('1с.json'); // Открыть файл 1c.json
$taskList=json_decode($file,TRUE); // Декодировать в массив
//unset($file); // Очистить переменную $file
//$taskList[0]['status'] = "status1";
// or if you want to change all entries with activity_code "1"
foreach ($taskList as $key => $entry) {
if ($entry['phone'] == $usr_phone) { // если номер телефона в форме совпадает с номером в массиве
//$taskList[$key]['status'] = "status1";
echo "Текущий статус - ".$taskList[$key]['status']."<br>";
//echo htmlspecialchars($_POST['usr_message']);
//тут нужна проверка на пустоту
echo "Вы написали: ".htmlspecialchars($taskList[$key]['usr_message'])."<br>";
echo "Ответ менеджера: ".htmlspecialchars($taskList[$key]['mnr_message'])."<br>";
// а тут ставим да/нет, если есть статус "ебала"
if ($taskList[$key]['status'] == $question_status) { //если статус "рассмотрено" // и если 1
unset($file);
//file_put_contents('1с.json',json_encode($taskList, JSON_UNESCAPED_UNICODE, JSON_PRETTY_PRINT)); //file_put_contents('1с.json',json_encode($taskList, JSON_UNESCAPED_UNICODE, JSON_PRETTY_PRINT)); // Перекодировать в формат и записать в файл.
unset($taskList); // Очистить переменную $taskList
?>
<div class="yes_no_form">
Are you ready?<br>
<a href="yesno.php?yesno=yes&phone=<? echo $phone; ?>">yes</a>
<a href="yesno.php?yesno=no&phone=<? echo $phone; ?>">no</a> <br>
------------- mark ed: --------------<br>
<?
//echo $_POST["usr_message"]."<br>";
//echo $_POST["mnr_message"]."<br>";
//echo $_POST["email"]."<br>";
//echo $_POST["phone"]."<br>";
//echo $_POST['name']."<br>";
?>
</div>
<?
}
} else {
/* ** */
$file = file_get_contents('site.json'); // Открыть файл data.json
$taskList = json_decode($file,TRUE); // Декодировать в массив
unset($file); // Очистить переменную $file
$taskList[] = array('id'=>$usr_id, 'city'=>$city, 'name'=>$_POST['name'], 'usr_message'=>htmlspecialchars($usr_message),
'app_date'=>$cur_date, 'phone'=>$_POST['phone'], 'status'=>$start_status, 'email'=>$email, 'mnr_message'=>'',
'customer_confirmed'=>'0', 'confirmation_date'=>'0001-01-01T00:00:00'); // Представить новую переменную как элемент массива, в формате 'ключ'=>'имя переменной'
file_put_contents('site.json',json_encode($taskList, JSON_UNESCAPED_UNICODE, JSON_PRETTY_PRINT)); // Перекодировать в формат и записать в файл.
unset($taskList); // Очистить переменную $taskList
/* ** */
}
}
}
?>
</div>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
И вот так выглядит JSON:
[{"id":"4307","city":"Кострома 2","name":"Артём Сузенко","usr_message":"34343434","app_date":"28.05.19 17:27:27","phone":"+7(964)155-3434","status":"Новая","email":"123@bk.ru","mnr_message":"","customer_confirmed":"0","confirmation_date":"0001-01-01T00:00:00"},
{"id":"4307","city":"Кострома 2","name":"Артём Сузенко","usr_message":"34343434","app_date":"28.05.19 17:27:27","phone":"+7(964)155-3434","status":"Новая","email":"123@bk.ru","mnr_message":"","customer_confirmed":"0","confirmation_date":"0001-01-01T00:00:00"},
{"id":"4307","city":"Кострома 2","name":"Артём Сузенко","usr_message":"Сообщение","app_date":"28.05.19 17:28:35","phone":"+7(964)178-0128","status":"Новая","email":"123@bk.ru","mnr_message":"","customer_confirmed":"0","confirmation_date":"0001-01-01T00:00:00"},
{"id":"4307","city":"Кострома 2","name":"Артём Сузенко","usr_message":"Сообщение","app_date":"28.05.19 17:28:35","phone":"+7(964)178-0128","status":"Новая","email":"123@bk.ru","mnr_message":"","customer_confirmed":"0","confirmation_date":"0001-01-01T00:00:00"}]