Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.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_Html_Forms_Api - Fatal编程技术网

在静态网站上使用来自其他网站的PHP表单脚本

在静态网站上使用来自其他网站的PHP表单脚本,php,html,forms,api,Php,Html,Forms,Api,这就是我的问题: 我被要求在CMS上创建一个名为“myshopingonline”的联系人表单。该网站的前开发人员已经添加了一个html联系人表单,通过php脚本(email.php)从自己的网站(其他域名,网站a向网站B的email.php脚本发送POST数据)提交表单 我对myshopingonline CMS一点也不了解,所以我想到的第一件事是使用插件,而不是对表单进行编码。显然,没有插件。第二个解决方案:由于我无法在CMS仪表板上编写任何PHP代码:创建一个PHP文件,我将使用ftp客

这就是我的问题:

我被要求在CMS上创建一个名为“myshopingonline”的联系人表单。该网站的前开发人员已经添加了一个html联系人表单,通过php脚本(email.php)从自己的网站(其他域名,网站a向网站B的email.php脚本发送POST数据)提交表单

我对myshopingonline CMS一点也不了解,所以我想到的第一件事是使用插件,而不是对表单进行编码。显然,没有插件。第二个解决方案:由于我无法在CMS仪表板上编写任何PHP代码:创建一个PHP文件,我将使用ftp客户端添加该文件。问题是我没有ftp访问权限(当我有ftp访问权限时,我可能会选择这个解决方案)

要求我制作html表单的人告诉我,表单正在向前开发人员发送电子邮件。所以我很好奇:将POST数据从域A发送到域B,域B脚本发送电子邮件而不是A(有点像服务否?)

所以我试着在我的一个域上创建一个子域,只是为了尝试这个应该有效的方法。因此,经典的,域B脚本的开始是:

    if (!isset($_POST['submit'])){
        echo 'ERROR';
...
域A中的表单结束于:

 <input name="submit" value="submit" type="submit" />

毫无疑问:我收到了错误消息(试图查看表单在同一个域上时是否正常工作,并且工作正常…)。所以我的问题是:有可能做到这一点吗?使其工作意味着域B将“接受”来自A的POST数据,并使用这些数据执行脚本

我想这相当于构建一个服务或API


提前,谢谢你的帮助

这是可能的,为什么不呢

考虑这个位于域A上的示例(更新了代码并添加了method=“post”):


该表单将托管在域A上,将在域B上执行PHP脚本。现在,考虑域B上的PHP脚本:

<?php
  if (!isset($_POST['submit'])){
    echo 'ERROR';
  else
    echo 'POST request received';
?>

现在,尝试访问域A上的页面,单击“提交”按钮并观察发生的情况(同时注意web浏览器中的地址,在按下“提交”按钮后地址也会发生变化)。

我更正了您的代码:指示该方法,因为默认情况下它使用GET,并且可以工作!!我真的很惊讶,因为我尝试了与我的脚本完全相同的事情。。。当我把脚本和表单放在同一个域上时,它确实工作了,但可能是某个地方的错误。。。谢谢
<?php
  if (!isset($_POST['submit'])){
    echo 'ERROR';
  else
    echo 'POST request received';
?>