我目前设置了客户登陆页面,以便将任何新的注册过帐到Salesforce。信息主要通过我自己的系统,需要特定的表单字段ID。 Salesforce还需要特定的表单字段ID。为此,我创建了第二组隐藏的表单字段,我使用javascript将隐藏字段的值设置为与可见字段相同。唯一的问题是,如果最终用户浏览器上没有启用javascript,那么大部分信息都不会传递给Salesforce。
在PHP中有替代方法吗? 我不是PHP的专家,我的想法是将数据发布到中断页面,回显隐藏字段中可见字段的值,然后使用标题重定向转到正常脚本。
任何建议都将不胜感激
答案 0 :(得分:1)
如果你想避免依赖任何像JavaScript这样的前端,那么cURL将是你最好的选择。有了这个,你就可以消除隐藏的字段。当用户提交表单时,您的PHP脚本将收集信息,将其重新打包为SalesForce,然后将其POST到其表单脚本,就像将其直接输入到表单中一样。这也意味着您的服务器正在执行POST而不是用户的浏览器,因此与SalesForce的交互最终对用户完全透明。
答案 1 :(得分: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 );