PHP cURL не будет отправлять JSON в API - PullRequest
0 голосов
/ 08 января 2019

У меня есть панель управления со ссылкой, которая запускает БД для обновления статуса приложения на «одобренный» и публикует сообщения в API. База данных обновляется, но получатель не получает по электронной почте.

Шаг базы данных работает, но не публикуется в API. API - это то, что вызывает электронное письмо человеку.

Отказ от ответственности: я новичок в кодировании, поэтому извиняюсь, если я не предоставляю правильную / достаточную информацию.

<?php

require_once 'login.php';
$conn = new mysqli($hn, $un, $pw, $db); //Connect DB
$id = $_GET['id'];
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error()); 
  }

//Create query based on the ID passed from table
// sql to update a record
$sql = "UPDATE all_contacts SET status='Approved' WHERE id = '$id'"; 

$url = 'https://mail.com/messages/email';
$data = array(
  "subject" => "Hello!",
  "body" => "hi",
  "recipients" => array (
    "email" => "example@email.com")
  );
$data_string = json_encode($data);
$ch = curl_init($url);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: application/json",
    "X-AUTH-TOKEN: mytoken",
    "Content-Length: ". strlen($data_string)));

$result = curl_exec($ch);
echo $result;
curl_close($ch);

if (mysqli_query($conn, $sql)) {
    mysqli_close($conn);
    header("Location: dashboard.php"); 
    exit;
} else {
    echo "Error changing status";
}

?>

Ожидаемый результат: обновите БД, указав новый статус приложения, и отправьте электронное письмо на адрес электронной почты, указанный в $ data.

Фактический результат: обновляет БД, но не публикует в API.

1 Ответ

0 голосов
/ 08 января 2019

Протестировал ваш код, и он работает правильно.

Я проверил это на Beeceptor.

enter image description here

enter image description here

Что вы получаете как ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...