【问题标题】:posting form data from iframe src从 iframe src 发布表单数据
【发布时间】:2018-10-19 12:55:47
【问题描述】:

login.php

<iframe id ="login_iframe" name="login_iframe" src ="iframe.php"></iframe>

在我的 iframe.php

<html>
<head>

</head>
<body>
<form id="login_submitform" method="post" action="post.php" target="_top" />
<input type="text" name="customer" value=""/>
<input type = "text" name="phone" value=""/>
<input type= "submit" value="submit" />

在我的 post.php 中出现了结果

$customer = $_POST['customer'];
$phone = $_POST['phone'];
?>

结果 客户 = 空字符串 电话=空字符串

我在这里做错了什么?我怎样才能获得 post.php 的表单值。请帮忙

【问题讨论】:

  • 您正在让浏览器发出一个 GET 请求(这就是将 URL 分配给 location.href 所做的事情),但您不知何故希望在之后找到 POST 数据……
  • 这样做的目的是什么?您是否只是希望此表单始终将数据发送到http://samedomain.com/post.php,以便结果显示在顶级窗口实例中,无论此脚本是直接调用还是嵌入到 iframe 中?然后只需将该 URL 设置为表单操作,将 target="_top" 添加到其中,然后……完成。
  • tnx 你对这些信息不屑一顾。我已经更新了代码,但它仍然发布空数据。关于如何解决这个问题的任何线索?

标签: javascript php forms post iframe


【解决方案1】:

一切看起来都很好,这里要注意的事情: 只能在同一个域访问 iframe 的数据,你的 login.php、iframe.php 和 post.php 必须在同一个域,这里假设你在 localhost 上测试

请限制您的表单字段,必填。你可以走了。

<form id="login_submitform" method="post" action="post.php" target="_top" />
    Customer: <input type="text" name="customer" value="" required/>
    Phone: <input type = "text" name="phone" value="" required/>
    <input type= "submit" value="submit" />
</form>

值为空时不提交。

post.php

<?php
    echo '<pre>';
    print_r($_POST);
    echo $_POST['customer'] .'<br>';
    echo $_POST['phone'] .'<br>'

?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    • 2019-10-03
    • 1970-01-01
    相关资源
    最近更新 更多