通过PHP发布XML字符串

通过PHP发布XML字符串,php,xml,curl,xml-parsing,Php,Xml,Curl,Xml Parsing,我需要将XML字符串发布到URL端点。我熟悉通过JavaScript实现这一点,但不太熟悉通过PHP实现这一点。我最终会将WordPress重力表单变量添加到数据中,但现在我会静态地测试它 我得到了一个卷曲错误,但有点不确定如何修复它 错误如下:对象引用未设置为对象的实例 这是我的密码: 您不能这样做: $_POST = array( 'ReferralCode'=> 'ELE20590', 'PrimaryContact'=>array( 'Ema

我需要将XML字符串发布到URL端点。我熟悉通过JavaScript实现这一点,但不太熟悉通过PHP实现这一点。我最终会将WordPress重力表单变量添加到数据中,但现在我会静态地测试它

我得到了一个卷曲错误,但有点不确定如何修复它

错误如下:对象引用未设置为对象的实例

这是我的密码:

您不能这样做:

$_POST = array(
    'ReferralCode'=> 'ELE20590',
    'PrimaryContact'=>array(
        'Email'=>'hello@hello.com',
        'FirstName'=>'Test',
        'LastName'=>'Test',
        'HomePhone'=>'3035551234',
    ),
    'PickupAddress'=>array(
        'Address1'=>'410 17th St',
        'City'=>'Denver',
        'Zip'=>'80202'
    ),
    'MoveDetails'=>array(
        'PickupZip'=>'80202',
        'DeliveryZip'=>'DeliveryZip',
        'MoveDate'=>'5/1/2018',
        'DwellingType'=>'10'
    ),
    'Comments'=>'blah blah blah'
);
$\u POST
是一个超全局变量,不能将其设置为这样的变量

如果
$cycle!=1
当您在
if
中定义$output时,如果未设置,则无法追加到它

if($cycle == 1) { 
    $output = 'xmlRequest='.$new_line; 
}
$output.= tabify($cycle - 1).'<'.$wrapper.'>'.$new_line;

好的,我用一个不同的变量名等更新了我的原始代码…但是错误仍然存在。我还将postman http添加到了我原始帖子的末尾。为您更新了答案是的,您可以这样设置$\u post。这不是一个好主意,但是你说你不能做这件事是错误的。准确的语句类似于
覆盖$\u POST是个坏主意
function tabify($num_tabs) {
    for($x = 1; $x <= $num_tabs; $x++) { 
        $return.= "\t"; 
    }
    return $return;
}