Как передать PHP $ переменных в массиве cURL - PullRequest
0 голосов
/ 04 февраля 2020

Я хотел бы передать несколько простых PHP переменных (таких как $ name1 и $ email1) следующему блоку cURL (PHP -Curl)

CURLOPT_POSTFIELDS =>"{\n\"email\": \"percy.jackson@gmail.com\",\n\"name\": \"Percy Jack\",}"

В основном заменить:

  • percy.jackson2290@gmail.com с $email1
  • Percy Jack с $name1

Возможно ли это? Пожалуйста, помогите!

Ответы [ 2 ]

3 голосов
/ 04 февраля 2020

Не пытайтесь создать JSON вручную, создайте массив и используйте json_encode()

CURLOPT_POSTFIELDS => json_encode(["email" => $email1, "name" => $name1]),

Для более сложной версии в комментарии:

CURLOPT_POSTFIELDS => json_encode([
    "sequence" => 1,
    "recipients" => [
        "signers" => [
            ["email" => $email1, "name" => $name1, "recipientId" => "1", "roleName" => "Client"]
        ],
    ]
]),

Отредактированная версия:

CURLOPT_POSTFIELDS => json_encode([
    "emailSubject" => "DocuSignAPI-CompositeTemplates",
    "emailBlurb" =>"CompositeTemplatesSample1",
    "status" => "sent",
    "compositeTemplates"=>
    ["serverTemplates"=>
     ["sequence"=>"1",
      "templateId"=>"ff32490f-58ab-4e26-a505-b32c863b2398"]],
    ["inlineTemplates"=>
     ["sequence"=>"1",
      "recipients"=>
      ["signers"=> [
       ["email" => $email1, "name" => $name1,"recipientId"=>"1","roleName"=>"Client"]]]]]]),
0 голосов
/ 04 февраля 2020

Согласно ответу Бармара, лучше использовать json_encode, однако, если вам нужно создать json вручную, вы можете сделать это

За пределами CURL

$postfields = '{"email": "'.$email1.'", "name": "'.$name1.'}';
var_dump(json_decode($postfields, true);

В CURL

CURLOPT_POSTFIELDS=>$postfields
...