【问题标题】:How to POST form data from within a table to PHP如何将表格中的表单数据发布到 PHP
【发布时间】:2015-06-04 12:51:01
【问题描述】:

我目前正在为工作中的员工创建一个时间表表单,但我一直在努力让输入值正确发布。我已经建立了一个数据库,但现在,我什至无法将值显示在 .php 页面中。这是我当前表格中的一个示例:

<html>    
    <form method="POST" form action="result.php">
    <table>
        <tr><td><b>Day of Week</td><td><b>Week 1 Hours</td><td><b>Week 2 Hours</td>  <td>
        <tr><td>Monday</td><td>
        <input type="text" name="Monday" size="3" maxlength="4" value="" onkeypress="return inputLimiter(event,'Numbers')">
        <input type="checkbox" tabindex="-1" name="Stime1">Sick?<input type="checkbox" tabindex="-1" name="Vac1">Vacation?</td>
        <td><input type="text" name="Monday2" size="3" maxlength="4" value="" onkeypress="return inputLimiter(event,'Numbers')">
        <input type="checkbox" tabindex="-1" name="Stime2">Sick?<input type="checkbox" tabindex="-1" name="Vac2">Vacation?</td></tr>
    </table>
    <input type="submit" value="submit">
</html>

这种模式持续到一周中的每一天。然后,当我尝试查看帖子的结果时,我什么也做不了。我求助于尝试:

<html>
<?php var_dump ($_POST);
?>
</html>

我得到的只是一个空白页面,如果我查看源代码,它只会显示使用的 php 代码。来晚了,一定是太累了,错过了什么,但就是想不通。

【问题讨论】:

  • 如果通过浏览器查看result.php页面的源代码时可以看到var_dump($_POST),则说明您的服务器配置不正确。
  • 你需要在&lt;/html&gt;之前关闭&lt;/form&gt;

标签: php html forms html-table http-post


【解决方案1】:

我在您的 HTML 中发现了一些错误。

我在本地格式化了您的源。我不知道你是不是故意这样做的(只是复制了表格的一小部分),但是缺少一些标签。

我更正了您的 HTML,也许您应该尝试一下。我不知道它是否能解决问题。但这里有一些错误:

  • 您永远不会关闭表格第一行中的 &lt;b&gt; 标记。
  • 有一个表格数据标签 (&lt;td&gt;) 在第 2 周后您没有关闭(而且太多了)。
  • 您没有关闭第一行的表格行标记。 (&lt;tr&gt;)
  • 您没有关闭表单标签。
  • 开始表单标记中方法和操作之间的单词形式不正确。我猜这应该被删除。

&lt;html&gt;

<form method="POST" action="result.php">
<table>
    <tr>
        <td><b>Day of Week</b></td>
        <td><b>Week 1 Hours</b></td>
        <td><b>Week 2 Hours</b></td>
    </tr>
    <tr>
        <td>Monday</td>
        <td><input type="text" name="Monday" size="3" maxlength="4" value="" onkeypress="return inputLimiter(event,'Numbers')"> <input type="checkbox" tabindex="-1" name="Stime1">Sick?<input type="checkbox" tabindex="-1" name="Vac1">Vacation?</td>
        <td><input type="text" name="Monday2" size="3" maxlength="4" value="" onkeypress="return inputLimiter(event,'Numbers')"> <input type="checkbox" tabindex="-1" name="Stime2">Sick?<input type="checkbox" tabindex="-1" name="Vac2">Vacation?</td>
    </tr>
</table>
<input type="submit" value="submit">
</form>
</html>

如果这有帮助,请告诉我。 干杯。

【讨论】:

  • 感谢大家的帮助,也很快!这是我的服务器配置的问题,但也感谢 html 帮助。我也去清理了剩下的部分。每个人的建议都很棒!
【解决方案2】:

如果我没有正确理解你的问题,我想开始道歉。

首先,您缺少一些结束标记。

其次,您可以看看我如何插入我的数据库,以及之后何时获取数据。希望这会对您有所帮助。我把它作为我自己的模板,所以当我创建一个新项目时,我不需要重新创建文件和连接,而只需更改数据库信息。

我并不是说这是正确的方法,还有很多其他方法,但我就是这样做的。

HTML

<form action="insert.php" method="post">
   //Insert your table here
   <input name="Monday" value="" type="text" placeholder="Wauw Talk" />
</form>

插入.php

$conn = mysql_connect('HOST', 'USER', 'PASS');
mysql_select_db('DATABASE', $conn);
if(!$conn){
     die("Connection Error: " . mysql_error());
}

$Monday = $_POST['Monday']; //Var containing your input data

$sql = mysql_query('INSERT INTO table_in_db (Day) VALUES ("'. $Monday .'")')or die(mysql_error());

if (!$sql) {
    echo "Something went wrong...";
}

Header('Location: ...');

从数据库中获取数据

<?php
    $conn = mysql_connect('HOST', 'USER', 'PASS');
    mysql_select_db('DATABASE', $conn);
    if(!$conn){
         die("Connection Error: " . mysql_error());
    }

    $sql_select = mysql_query('SELECT * FROM table_in_db');

    if(mysql_num_rows($sql_select) > 0){
     while($row = mysql_fetch_assoc($sql_select)){
      ?><div class="Days">
         <label class="Mondayclass" ><? echo $row["Day"]; ?></label>
        </div>
<?php
   }
}
?>

希望这会有所帮助。 如果这完全不是您想要的,对不起,我误解了您遇到的问题。

【讨论】:

    猜你喜欢
    • 2013-02-05
    • 2022-01-12
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-06
    • 1970-01-01
    • 2012-12-02
    相关资源
    最近更新 更多