我对 PHP 非常陌生,正在尝试让 API (REST) 与我当前正在开发的网站一起使用。如果我使用 AJAX 提交表单,它会起作用,但我希望它在不使用 AJAX 的情况下也能起作用。我使用的代码是:
<?php
$postContactUrl = 'https://apiconnector.com/v2/contacts/';
$data = array(
'Email' => $_POST['email'],
'EmailType' => 'Html',
'dataFields' => array(
array(
'Key' => 'FULLNAME',
'Value' => $_POST['name_first'] . " " . $_POST['name_last']
),
)
);
$contact = execute_post($postContactUrl, $data);
$addContactToAddressBookUrl = 'https://apiconnector.com/v2/address-books/' . '123456' . '/contacts';
$book = execute_post($addContactToAddressBookUrl, $contact);
function execute_post($url, $data)
{
$requestBody = json_encode($data, true);
$ch = curl_init();
curl_setopt($ch, CURLAUTH_BASIC, CURLAUTH_DIGEST);
curl_setopt($ch, CURLOPT_USERPWD, 'username' . ':' . 'password');
curl_setopt($ch, CURLOPT_POSTFIELDS, $requestBody);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: ' . 'application/json', 'Content-Type: application/json'));
$responseBody = json_decode(curl_exec($ch));
curl_close($ch);
return $responseBody;
}
但是当我尝试将其添加到表单所在的页面时,我收到此错误:
PHP Fatal error: Call to undefined function execute_post()
我已经尝试修复它,但我所做的一切似乎都不起作用。我不明白为什么它可以与 AJAX 一起使用,但不能与其他方式一起使用。
最佳答案
你的函数应该在调用函数方法之前
function execute_post(){
}
$contact = execute_post($postContactUrl, $data);
关于PHP fatal error : Call to undefined function how do I fix it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29899403/