@SPART4K

Как обернуть данные в объект?

Я получаю данные с формы (имя, телефон, почта):

<form action="lotery.php" method="POST" class="popup-body">
			<input type="text" placeholder="Ваше имя и фамилия" name="name">
			<input type="text" placeholder="Ваш номер телефона" name="phone">
			<input type="text" placeholder="Ваш email" name="email">
			<button onsubmit="return false;" class="send-form popup-body__button button">отправить</button>
		</form>

Обрабатываю запрос через ajax:

$(function() {
    $('form').submit(function() {

    	event.preventDefault();
    	var form_data = $(this).serialize();

        $.ajax({
            type: 'POST',
            url: 'lotery.php',
            data: form_data,
            success: function() {
		      $('form')[0].reset();
		     }
        });
        
    }); 
})

И вот мой код php:

<?php
$json = file_get_contents("data.txt");

$data = [];


$id = "".mt_rand(0, 15)."s";



if ($json != "") {
	$data = json_decode($json);
}



$id = "".mt_rand(0, $length)."s";

$name = $_POST["name"];
$phone = $_POST["phone"];
$email = $_POST["email"];

$tmp = ["name" => $name, "phone" => $phone, "email" => $email];

array_push($data, $tmp);

// $data[$id]["name"] = $name;
// $data[] = $tmp;

$length = count($data);
$id = "".mt_rand(0, $length)."s";

file_put_contents("data.txt", json_encode($data));

Получаю такой вид данных:

[{"name":"asdasd","phone":"asdasd","email":"796777793"},{"name":"test","phone":"test","email":"test"}]

А нужно, чтобы данные были завернуты в объект data, например:

{ "data" : [{"name":"asdasd","phone":"asdasd","email":"79677775"},{"name":"test","phone":"test","email":"test"}] }
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
@alekcena
В попытках обрести навыки и умения
$data = [ "data"=> запрос который вы получили]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы