如何将表中的表单数据 POST 到 PHP

问题描述 投票:0回答:3

我目前正在为工作中的员工创建一个时间表表单,但我一直致力于正确发布输入值。我已经设置了一个数据库,但现在我什至无法获取要在 .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 代码。现在已经很晚了,所以我一定是太累了,错过了一些东西,但我就是想不起来。

php html forms html-table http-post
3个回答
2
投票

我在您的 HTML 中看到一些错误。

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

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

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

<html>

<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>

请告诉我这是否有帮助。 干杯。


1
投票

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

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

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

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

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: ...');

从DB获取数据

<?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
   }
}
?>

希望这有帮助。 如果这完全不是您想要的,我很抱歉,我误解了您遇到的问题。


0
投票

你也可以这样做:

首先是表格

<form method="post" action="this.php">

二、隐藏字段

<td><input type="hidden" name="<?php echo $variable ?>" value="<?php echo $variable ?>"><?php echo $variable ?></td>
© www.soinside.com 2019 - 2024. All rights reserved.