2

反对我不这样做的建议,我必须设置一个表格,我们可以将其交给我们的附属公司并让他们放在他们的网站上 - 一旦离开我,我就无法控制任何事情,我希望这方面的专业知识社区可以为我提供解决此问题的替代方法。我需要使用附属(希望)不会更改的元素控件编写一个无样式的表单。然后,会员可以在他们的网站上设置表单,根据需要设置样式并将其提交到我网站上的 PHP 脚本,该脚本将 A) 将其提交到我们的数据库并 B) 将一些信息发送给第三方。有什么我可以用 PHP 做的吗?不是专家,但我通常可以弄清楚。 所需流量

附属公司拥有不同程度的技术知识,其中大部分是低端技术,并且没有使用通用技术(我们使用 PHP)。一些潜在的问题

  1. 如果附属公司更改(无论出于何种原因)输入 ID 和/或名称,它不会提交到我们的数据库中的实施
  2. 由于他们的技能水平/编程语言差异,我没有提供客户端验证
  3. 我无法控制附属网站上的任何东西,我猜这会使我们的数据库容易受到攻击?
  4. 主要是用户体验,如果他们提交了无效的表单并且我们的服务器端验证捕获了它,则将他们发送回附属页面或我们网站上的错误消息。由于存在技能水平/技术问题,我不能指望附属公司设置 curl 脚本并处理来自其网站上表单提交脚本的错误消息,因此我必须将它们发送到我们网站上的错误页面。然后附属公司将失去领先优势。

这些是我提出的主要问题,我相信还有其他问题。所以我需要有一些东西我可以交给附属公司,他们把它插入一个页面并让它工作。以前有其他人必须这样做吗?有没有更好的方法来处理这个?可能是 iFrame?由于跨域安全问题,我对它们从来没有太多用处。我感谢大家可以提供的任何建议和指导。如果问题不够彻底或经过深思熟虑,我深表歉意。我会根据要求更新它。谢谢!

4

3 回答 3

1

不如不将表单代码提供给您的附属公司,您只需给他们 javascript——代码本身,或者甚至更好的是一个缩小的 javascript 文件——这将在他们的网站上创建表单。这样,您可以包括客户端验证并指定表单元素的布局,包括表单字段的 id?所有附属公司需要做的就是在所需位置添加 javascript。你可以给他们一些关于 javascript 的替代方案;例如,一个用于显示表单,一个用于弹出对话框等。如果表单的操作是您网站上的 PHP 脚本,我认为这不会导致您出现跨站点脚本问题。缩小脚本将降低关联公司“修复”它的风险。

于 2011-03-30T18:33:28.423 回答
1

你可以给每个客户端一个 iframe 代码来加载。这个 iframe 将加载类似

您可以使用 AFFILIATE_ID 以特定方式设置表单样式,或者加载他们提供给您的样式表。

于 2011-03-30T18:34:44.420 回答
1

至于验证,它确实与任何其他形式没有什么不同。客户端验证只是建议性的。无论如何,您必须确保表单处理脚本中的输入结构和格式。

然后你有两个关于如何处理错误的选择。(1)如果业务需求不禁止它,我会简单地将它做成一个成熟的表单处理程序。如果收到的任何 $_POST 字段有错误,请再次打印您自己的漂亮版本的表单。在此处包含错误消息,并添加 Clippy(一些 Javascript 助手)以帮助用户正确填写表单。

如果不允许在您的终端显示自定义版本的表单,那么(2)只需打印错误消息。让它显示几秒钟,并自动重定向回合作伙伴网站上的原始表单。提供以下内容通常就足够了:

<a href="javascript:history.back()">back to form on partner site</a>

这样会详细解释错误,但用户仍然可以返回到以前的表单(仍然填写所有内容)。

于 2011-03-30T18:35:30.537 回答