Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何正确部署";“卫星”;形式_Php_Forms_Affiliates - Fatal编程技术网

Php 如何正确部署";“卫星”;形式

Php 如何正确部署";“卫星”;形式,php,forms,affiliates,Php,Forms,Affiliates,针对我不建议这样做的建议,我必须建立一个表格,我们可以把它交给我们的附属公司,让他们放在他们的网站上——一旦它离开我,我对任何事情都没有控制权,我希望这个社区的专家能给我一个解决这个问题的替代方法。我需要编码一个未设置样式的表单,其中包含子公司(希望)不会更改的元素控件。然后,附属机构可以在其网站上设置表单,根据需要进行样式设置,并将其提交到我网站上的PHP脚本,该脚本将a)提交到我们的数据库,B)将部分信息发送给第三方。有什么我可以用PHP做的吗?不是专家,但我通常可以解决。 这些附属公司拥

针对我不建议这样做的建议,我必须建立一个表格,我们可以把它交给我们的附属公司,让他们放在他们的网站上——一旦它离开我,我对任何事情都没有控制权,我希望这个社区的专家能给我一个解决这个问题的替代方法。我需要编码一个未设置样式的表单,其中包含子公司(希望)不会更改的元素控件。然后,附属机构可以在其网站上设置表单,根据需要进行样式设置,并将其提交到我网站上的PHP脚本,该脚本将a)提交到我们的数据库,B)将部分信息发送给第三方。有什么我可以用PHP做的吗?不是专家,但我通常可以解决。

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

  • 如果附属机构更改了输入ID和/或名称(无论出于何种原因),则不会将其提交到我们的数据库中
  • 由于他们的技能水平/编程语言不同,我没有提供客户端验证
  • 我无法控制联盟网站上的任何东西,我猜这会使我们的数据库易受攻击
  • 主要是用户体验,如果他们提交了一个无效的表单,而我们的服务器端验证发现了它,请将其发送回附属页面或我们网站上的错误消息。由于存在技能水平/技术问题,我不能期望附属公司在其网站上设置curl脚本并处理表单提交脚本中的错误消息,因此我必须将其发送到我们网站上的错误页面。然后附属公司将失去领先地位

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

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

    您可以给每个客户端一个iframe代码来加载。此iframe将加载以下内容


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

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

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

    如果不允许在您的终端上显示表单的自定义版本,则只需打印错误消息即可。让它显示几秒钟,并自动重定向回合作伙伴站点上的原始表单。它通常甚至足以提供:

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

    这样可以详细解释错误,但用户仍然可以返回到上一个表单(所有内容都已填写)。

    感谢您的回复!如果我错了(通常是错的),请纠正我,但是如果我给他们一个创建表单的js文件,他们不需要在脚本中添加包含元素的id吗?另外,我不认为给他们一个动态创建表单的js文件有什么好处,而不是给他们可以剪切粘贴到页面上的HTML。我不明白他们为什么需要在脚本中添加包含元素的id。我可能不理解这个问题。这样做的好处是,它们不会像处理HTML表单那样处理动态生成的表单,尤其是在脚本缩小的情况下。您还可以添加客户端验证。这有点像网站上基于javascript的广告;他们中的一些人使用的形式和你描述的一样。这可能是因为我的无知。我通常依靠javascript来验证表单,而不是创建表单。你的意思是只在JS中嵌入HTML表单标记吗?如果是这样的话,我还需要将它附加到他们页面上的某个容器中,以便它正确地放置在布局中?好主意。thx Galen-在“此iframe将加载类似…”的内容之后是否缺少一些内容?@mario,唯一的问题是他们必须更改的一个元素(我忘了在问题中提到)是“refered_by”隐藏输入。他们会适当地改变这一点。如果我在我的网站上打印表单,是否有办法“_获取”该值并将其附加到我的表单版本中。我们需要它来跟踪他们在哪里注册的,如果不包括,附属公司将不会被记入潜在客户。当然。这是一个普通的请求变量。不管它是通过什么途径来的