【问题标题】:How do you use PHP to duplicate form fields?你如何使用 PHP 来复制表单域?
【发布时间】:2013-08-01 08:48:50
【问题描述】:

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

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

任何建议将不胜感激

【问题讨论】:

  • 能否提供更多信息,例如代码片段等
  • 您有哪些字段,salesforce 需要哪些字段?它们是如何发送给销售人员的?
  • @Sam - 当然可以,请在下面找到 Javascript 的片段: window.onload = function () { var fname = document.getElementById('fname'), sffirstname = document.getElementById('名'); fname.onkeyup = function () { sffirstname.value = fname.value; };
  • @Dale 我的表单字段 ID 是:fname、lname、email、电话、国家、cmets。和 salesforce 字段是:first_name、last_name、email、phone、country、description。如您所见,一些字段具有相同的名称,但其余的没有'

标签: php javascript salesforce


【解决方案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 );

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 你能举个例子吗?
    猜你喜欢
    • 1970-01-01
    • 2011-03-23
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 2012-11-04
    • 2010-09-30
    • 2010-09-28
    • 2016-08-17
    相关资源
    最近更新 更多