【发布时间】:2013-10-26 03:19:11
【问题描述】:
我知道这是错误的形式,但我们无法更改隐藏的输入名称,因为它是由 SalesForce 设置的。我有一个输入如下的表单:
<input type="hidden" name="00N5000000XXXXX" value="Demo_Account" />
和我的 PHP 通过 cURL 发布给他们
$00N5000000XXXXX = $_POST['00N5000000XXXXX'];
这显然行不通,因为它有一个变量名的数字。
当我把名字改成:
$Foo = $_POST['00N5000000XXXXX'];
后端不起作用,因为它希望表单提交一个名称为 00N5000000XXXXX 的值,而不是 Foo 或我想调用的任何名称。
显然,我不是 PHP 开发人员,但需要一些关于如何解决此问题的建议。 谢谢。
【问题讨论】:
-
我不知道你的后端期望什么,但是 PHP 变量不能以数字开头。听起来你需要修复后端。 :)
-
已经知道了。 “这显然行不通,因为它有一个变量名的数字。”
-
OP 知道这一点,请阅读问题:"..这显然不起作用,因为它有变量名的数字。"
-
@DirtyBirdDesign Salesforce 很可能不在他们的服务器上运行 PHP,或者他们没有将它们提取到变量中。您无需将其转换为变量即可使用 cURL 发布它。
curl_setopt(CURLOPT_POSTFIELDS, '0000001234=foo');? -
@DirtyBirdDesign 抱歉 - 我习惯于使用 cURL 的类包装器。您的第一个参数需要是您的 cURL 句柄。
curl_setopt($ch, CURLOPT_POSTFIELDS, '0000001234=foo');