Создайте URL-адрес публикации с массивом внутри массива

У меня есть API:

$data = array(
2     'api_method'        =>   'subscriber_add',
3     'api_key'           =>   '3009',
4     'api_data'          =>   array(
5         'email'             => "[email protected]",
6         'list_id'           =>   array(1,2,3),
7     )
8 );

У меня проблемы с отправкой в ​​list_id ‘1’ с нижеуказанным sql. Электронная почта работает.

http://URL_ADDRESS.com/admin-ajax.php?action=newsletters_api&api_method=subscriber_add&api_key=67185672AFD27C3A62D6855E95288F87&api_data[email][email protected]&api_data[list_id]=1

Как мне работать с массивом в массиве

0

Решение

Если вы отправляете сообщение POST, вы можете отправить эти данные в текст вашего ходатайства. Но я думаю, что вы должны изменить свой метод API admin-ajax.php?action=newsletters_api

Пример содержания вашего тела POST:

{
'api_method' : 'subscriber_add',
'api_key':'3009',
'api_data':[
{ 'email':'[email protected]'},
{ 'list_id': [1,2,3]}
]
}

Если вы не можете этого сделать, вы можете отправить свой массив в виде строки, разделенной запятыми:

http://URL_ADDRESS.com/admin-ajax.php?action=newsletters_api&api_method=subscriber_add&api_key=67185672AFD27C3A62D6855E95288F87&api_data[email][email protected]&api_data[list_id]=1,2,3

И разбери это внутри своего кода

0

Другие решения

Я не уверен, но это работает:

http://URL_ADDRESS.com/admin-ajax.php?action=newsletters_api&api_method = subscriber_add&api_key = 67185672AFD27C3A62D6855E95288F87&api_data [электронная почта] [email protected]&api_data [list_id] [] = 1&api_data [list_id] [] = 2&api_data [list_id] [] = 3

Вы можете только следить за json_encode () и json_decode (), чтобы упростить передачу данных.

Наконец, отвечая на комментарий вашего первого поста, не используйте сериализацию / десериализацию это не предназначено для использования на предоставленных пользователями данных. Это может привести к инъекции объектов PHP.

Удачи,

Даниил

0

По вопросам рекламы [email protected]