【问题标题】:HTML Form is not getting POST in php formHTML 表单未以 php 表单获取 POST
【发布时间】:2014-08-23 12:43:14
【问题描述】:

我正在尝试创建简单的表单和帖子。我创建了简单的表格。但提交后实际上没有收到任何内容。我创建了单个 form.php 文件。

form.php:

<!DOCTYPE html>
<html>
    <head>
        <title>Bootstrap 101 Template</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <!-- Bootstrap -->
        <link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet" media="screen">
    </head>
    <body>

<div class="row">
<?php

echo 'Hello World';

foreach ($_POST as $key => $value) {
        echo "<tr>";
        echo "<td>";
        echo $key;
        echo "</td>";
        echo "<td>";
        echo $value;
        echo "</td>";
        echo "</tr>";
    }

?>
<div class="col-md-6 col-md-offset-3">
<form class="form-horizontal" action="form.php" method="post">
  <div class="form-group">
    <label for="input1" class="col-sm-2 control-label">Tag#1</label>
    <div class="col-sm-5">
      <input type="text" class="form-control" id="input1a" placeholder="Old Value" value="dummy">
    </div>
    <div class="col-sm-5">
      <input type="text" class="form-control" id="input1b" placeholder="New Value" value="dummy">
    </div>
  </div>
  <div class="form-group">
    <label for="input2" class="col-sm-2 control-label">Tag#2</label>
    <div class="col-sm-5">
      <input type="text" class="form-control" id="input2a" placeholder="Old Value" value="dummy">
    </div>
    <div class="col-sm-5">
      <input type="text" class="form-control" id="input2b" placeholder="New Value" value="dummy">
    </div>
  </div>
  <div class="form-group">
    <label for="input3" class="col-sm-2 control-label">Tag#3</label>
    <div class="col-sm-5">
      <input type="text" class="form-control" id="input3a" placeholder="Old Value" value="dummy">
    </div>
    <div class="col-sm-5">
      <input type="text" class="form-control" id="input3b" placeholder="New Value" value="dummy">
    </div>
  </div>
  <div class="form-group">
    <label for="input4" class="col-sm-2 control-label">Tag#4</label>
    <div class="col-sm-5">
      <input type="text" class="form-control" id="input4a" placeholder="Old Value" value="dummy">
    </div>
    <div class="col-sm-5">
      <input type="text" class="form-control" id="input4b" placeholder="New Value" value="dummy">
    </div>
  </div>
  <div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
      <button type="submit" class="btn btn-default">Submit</button>
    </div>
  </div>
</form>
</div>
</div>

        <script src="http://code.jquery.com/jquery.js"></script>
        <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
    </body>
</html>

环境: linux薄荷16 php5

apache2 正在运行并且“echo 'Hello World';” form.php 中提供的运行良好。

【问题讨论】:

  • 尝试检查变量张贴是否可用 isset($_POST['yourVar']) ?如果不是,你的邮政编码是错误的。检查您是否在您真正想要的页面上发布;同时开启错误报告
  • &lt;table&gt; 标签未打开。在trtd 之前
  • 您在输入标签中缺少名称属性。

标签: php html forms twitter-bootstrap post


【解决方案1】:

输入需要名称,而不是 id,否则 $_POST 数组没有键。

【讨论】:

    【解决方案2】:

    如果没有输入的名称属性,您将不会在 $_POST 中得到任何信息,因为输入是由名称识别的。

    我已为您替换名称,请用我的代码替换您的代码。你就完成了

    <div class="col-md-6 col-md-offset-3">
    <form class="form-horizontal" action="form.php" method="post" name="post-form">
      <div class="form-group">
        <label for="input1" class="col-sm-2 control-label">Tag#1</label>
        <div class="col-sm-5">
          <input type="text" class="form-control" name="input1a" id="input1a" placeholder="Old Value" value="dummy">
        </div>
        <div class="col-sm-5">
          <input type="text" class="form-control" name="input1b" id="input1b" placeholder="New Value" value="dummy">
        </div>
      </div>
      <div class="form-group">
        <label for="input2" class="col-sm-2 control-label">Tag#2</label>
        <div class="col-sm-5">
          <input type="text" class="form-control" name="input2a" id="input2a" placeholder="Old Value" value="dummy">
        </div>
        <div class="col-sm-5">
          <input type="text" class="form-control" name="input2b" id="input2b" placeholder="New Value" value="dummy">
        </div>
      </div>
      <div class="form-group">
        <label for="input3" class="col-sm-2 control-label">Tag#3</label>
        <div class="col-sm-5">
          <input type="text" class="form-control" name="input3a" id="input3a" placeholder="Old Value" value="dummy">
        </div>
        <div class="col-sm-5">
          <input type="text" class="form-control" name="input3b" id="input3b" placeholder="New Value" value="dummy">
        </div>
      </div>
      <div class="form-group">
        <label for="input4" class="col-sm-2 control-label">Tag#4</label>
        <div class="col-sm-5">
          <input type="text" class="form-control" name="input4a" id="input4a" placeholder="Old Value" value="dummy">
        </div>
        <div class="col-sm-5">
          <input type="text" class="form-control" name="input4b" id="input4b" placeholder="New Value" value="dummy">
        </div>
      </div>
      <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
          <button type="submit" class="btn btn-default">Submit</button>
        </div>
      </div>
    </form>
    </div>
    </div>
    
            <script src="http://code.jquery.com/jquery.js"></script>
            <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
        </body>
    </html>
    

    【讨论】:

      【解决方案3】:
      <div class="col-sm-5">
        <input type="text" class="form-control" name="input1a" id="input1a" placeholder="Old Value" value="dummy">
      </div>
      

      如上sn-p所示,需要在input标签上设置name属性,以便在向表单提交POST请求时传递数据。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-31
        • 1970-01-01
        • 2021-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多