-1

我目前设置了一个客户登录页面,以便将任何新注册发布到 Salesforce。信息主要通过我自己的系统,该系统需要特定的表单字段 ID。Salesforce 还需要特定的表单字段 ID。为此,我创建了第二组隐藏的表单字段,并使用 javascript 将隐藏字段的值设置为与可见字段相同。唯一的问题是,如果最终用户浏览器上没有启用 javascript,那么大部分信息都不会传递给 Salesforce。

在 PHP 中是否有另一种方法可以做到这一点?我不是PHP专家,我的想法是将数据发布到中断页面,在隐藏字段中回显可见字段的值,然后使用标头重定向转到正常脚本。

任何建议将不胜感激

4

2 回答 2

1

如果你想避免依赖任何前端,比如 JavaScript,那么 cURL 将是你最好的选择。这样,您将消除隐藏字段。当用户提交表单时,您的 PHP 脚本会收集信息,为 SalesForce 重新打包,然后将其发布到他们的表单脚本,就像直接将其输入到他们的表单中一样。这也意味着您的服务器正在执行 POST 而不是用户的浏览器,因此与 SalesForce 的交互最终对用户完全透明。

于 2013-08-01T08:53:54.680 回答
1

我不会向您展示表格,因为我知道您已经设置了一个

但这里是我将如何使用 cURL 来解决这个问题

$url = 'http://salesforceurl.here';
$post_data = "first_name={$_POST['fname']}&last_name={$_POST['lname']}&email={$_POST['email']}&phone={$_POST['telephone']}&country={$_POST['country']}&description={$_POST['comments']}";

$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt( $ch, CURLOPT_HEADER, 0);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);

$response = curl_exec( $ch );
于 2013-08-01T11:07:19.947 回答