Php 表单在新的iframe中打开

Php 表单在新的iframe中打开,php,html,Php,Html,我有个问题。我有两个服务器,第一个是我的整个数据库和登录页面,第二个是我的WWW页面。这些服务器位于不同的域上。我构建了一个站点,其中有2个iframe,每个iframe分别来自first和secoud服务器。当我提交表单时,结果将在新选项卡中打开,而不是将结果放在第二个选项卡中。下面是代码。我只想补充一点,它很好用。 secound服务器 index.html(这是主框架) 新网络项目 vforms.php <?php if (isset($_POST["variable"])){

我有个问题。我有两个服务器,第一个是我的整个数据库和登录页面,第二个是我的WWW页面。这些服务器位于不同的域上。我构建了一个站点,其中有2个iframe,每个iframe分别来自first和secoud服务器。当我提交表单时,结果将在新选项卡中打开,而不是将结果放在第二个选项卡中。下面是代码。我只想补充一点,它很好用。 secound服务器

index.html(这是主框架)


新网络项目
vforms.php

<?php
if (isset($_POST["variable"])){
    $var2 = $_POST["variable"];
   echo $var2;
}
else echo 'waiting';
?>

第一服务器 map.php


测试页
从上周五开始,我就一直在做这件事,并尝试着做每件事!现在真的快把我逼疯了!有人能帮我吗?
干杯

因为它位于不同的域上,所以存在跨域策略。
不知道另一个iFrame,无法访问它。它也不能访问它的父级


因此,除了使用php远程连接到数据库并一起删除iFrame(这首先是一件坏事)之外,实在没有办法修复它。

您确定应该在框架文档中使用框架集doctype吗?您可能正在使目标属性无效。

为什么需要iFrame?为什么不从主web服务器访问数据库?我无法直接连接到db,因为我的公司有安全策略和许多其他东西。这是一个跨域问题,因为iFrame内容位于不同的服务器/URL上,而不是您当前想要的方式。我强烈建议在没有选择之前远程连接mysql数据库。但是我通过创建一个虚拟目录和更改地址来解决这个问题,就像在同一个域上一样。
<?php
if (isset($_POST["variable"])){
    $var2 = $_POST["variable"];
   echo $var2;
}
else echo 'waiting';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test page</title>
</head>
<body>
<form action="http://xxx.xxx.xxx/test/vforms.php" method="POST" target="vforms1">
<input type="hidden" name="variable" value="send"/>
<input type="submit" />
</form>
</body>
</html>