【问题标题】:PHP POST form inside a GET formGET 表单中的 PHP POST 表单
【发布时间】:2012-10-03 16:20:06
【问题描述】:

我怎样才能做到这一点?

GET 表单中的 POST 表单

首先我在 3 文本框中输入数据并按下 GET 提交按钮,然后当我按下 POST 提交按钮时,它就像一个 GET 并且不显示我的 if 语句所述的数据:

if(isset($_POST['post'])){ echo $_POST['data1']."<br/>".$_POST['data2']."<br/>".$_POST['data3']; }

请帮帮我..我真的需要这个

<!doctype html>

<html lang="en">
<head>
    <meta charset="utf-8">
</head>
<body>
<?php
if(isset($_POST['post'])){
    echo $_POST['data1']."<br/>".$_POST['data2']."<br/>".$_POST['data3'];
}
?>
<form action="" method="get">
    <form action="" method="post">
        <input type="text" name="data1" value="<?php if(isset($_GET['data1'])) echo $_GET['data1']; ?>"/>
        <input type="text" name="data2" value="<?php if(isset($_GET['data2'])) echo $_GET['data2']; ?>"/>
        <input type="text" name="data3" value="<?php if(isset($_GET['data3'])) echo $_GET['data3']; ?>"/>
        <input type="submit" name="get" value="GET"/>
        <input type="submit" name="post" value="POST"/>
    </form>
</form>
</body>
</html>

提前谢谢你们!

【问题讨论】:

  • 为什么要这样做?

标签: php html forms post get


【解决方案1】:

嗯,这是概念证明:

<form>
    <input name="t" />
    <input type="submit" value="with GET" />
    <input type="submit" value="with POST"
           onclick="this.parentNode.method='POST';"/>
</form>

当然,将JS从HTML中移出要好得多,但是,正如我所说,这只是为了说明原则上如何做到这一点。

正如@cdhowie 正确注意到的那样,您不能在另一个form 元素中包含form 元素;浏览器将如何解释这个结构,这取决于它们(也许内部的form 将被视为无效元素而被忽略),但它绝对不允许您同时使您的输入属于两种形式。

【讨论】:

    【解决方案2】:

    根据 HTML 规范,&lt;form&gt; 元素可能没有其他 &lt;form&gt; 元素作为后代元素。 (见this related question。)

    因此,您在这里看到的是无效的 HTML。在这种情况下,浏览器可能会做任何它认为合理的事情,包括根本拒绝渲染页面。浏览器之间的行为可能不一致。

    【讨论】:

    • 我认为第二个form 在这里只是默默地忽略了。
    • @raina77ow 可能是这样。但这完全取决于浏览器。这个特定的 HTML 将调用所谓的“未定义行为”。
    【解决方案3】:

    您不能在另一个表单中包含一个表单。 Facebook like 按钮就是一个很好的例子,你不能把它放在一个表单中,否则你可能会破坏一些东西。

    【讨论】:

      【解决方案4】:

      这不是正常程序。这是不可能的。我认为,您希望同时获得 GET 和 POST 的效果。也许你可以用一些讨厌的技巧来做到这一点,用 Javascript 将它们添加到 URL 的末尾。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-21
        • 1970-01-01
        • 2016-11-02
        • 2021-02-06
        相关资源
        最近更新 更多