У меня есть PHP, который делает вызов cURL API на веб-сайте, который автоматизирует создание новых учетных записей пользователей. Когда я отправляю свою форму, PHP вступает во владение, но я получаю сообщение об ошибке:
TypeError: Невозможно вызвать метод "trim" из undefined (createUser # 17)
Нигде в моем коде я не пытаюсь использовать метод с именем "trim", поэтому я не уверен, откуда возникла проблема.
Вот код, который я использую с несколькими отредактированными деталями (заменены на xxxxx):
<?php
ini_set('display_errors', 1);
require_once("java/Java.inc");
// Assign form input values to variables.
$emailAddress=$_POST['emailAddress'];
$firstName=$_POST['firstName'];
$surname=$_POST['surname'];
$phoneNumber=$_POST['phoneNumber'];
// Initiate cURL.
$curl = curl_init();
$headers = array('Accept: application/json','Content-Type: application/json','appKey: xxxxxxxxxxxxxxxxx');
$postfields = array('fname'=>$firstName,'lname'=>$surname,'mobileNumber'=>$phoneNumber,'email'=>$emailAddress);
$fields_string = http_build_query($postfields);
// Setting up cURL.
curl_setopt($curl, CURLOPT_URL, 'xxxxxxxxxxxxxxxxx');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); // Forces it to use HTTP/1.1
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POSTFIELDS, $fields_string);
// Execute cURL.
$response = curl_exec($curl);
// Display cURL response.
echo('Response: '.$response);
// Display error if POST fails.
if(curl_exec($curl) === false){
die('Error: "' . curl_error($curl) . '" - Code: ' . curl_errno($curl));
} else {
echo('Executed with no errors.');
};
if (!curl_errno($curl)) {
switch ($http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE)) {
case 200: # OK
break;
default:
echo ' Unexpected HTTP code: ', $http_code, "\n";
}
}
curl_close($curl);
?>