繁体   English   中英

在提交表单时使用PHP中的echo将数据显示到表中

[英]On submit form Display data into table using echo in PHP

我有一个显示回显的表,其中,对于每一行,我都希望有一个按钮来更改“状态”字段(我只想更新一个字段)。 我正在尝试在回显中插入一个表单按钮,但是我什么也没收到。

这是我的回声代码:

while($row = mysql_fetch_array( $result )) {
    echo "<tr>";
        echo '<td>' . $row['id'] . '</td>';
        echo '<td>' . $row['fullname'] . '</td>';
        echo '<td>' . $row['message'] . '</td>';
        echo '<td>' . $row['country'] . '</td>';
        echo '<td>' . $row['email'] . '</td>';
        echo '<td>' . $row['website'] . '</td>';
        echo '<td>' . $row['date'] . '</td>';
        echo "<td>" . $row['status'] . " </td>";

        echo "<form action='updatestatus.php' method='post'>";
            echo "<input type='hidden' value='".$row['id']."' name='id' />";
            echo "<input type='hidden' value='".$row['status']."' name='status' />";
            echo "<td><input type='submit' name='submit' value='Submit'></td>";
        echo "</form>";

        echo '<td><a href="edit.php?id=' . $row['id'] . '">Edit</a></td>';
        echo '<td><a href="delete.php?id=' . $row['id'] . '">Delete</a></td>';
    echo "</tr>"; 
}

updatestatus.php

// check if the form has been submitted. 
if (isset($_POST['submit'])) { 
    // confirm that the 'id' value is a valid integer before getting the form data
    if (is_numeric($_POST['id'])) {
        // get form data, making sure it is valid
        $id = $_POST['id'];
        $status = $_POST['status'];

        if ($status == 0) {
            $status == 1;
            mysql_query("UPDATE personalguestbook SET status='$status' WHERE id='$id'")
            or die(mysql_error());
        } else {
            $status == 0;
            mysql_query("UPDATE personalguestbook SET status='$status' WHERE id='$id'")
            or die(mysql_error()); 
        }
        header("Location: view.php"); 
    }
}

因此,如果我的状态字段为= 0,我想将其更改为= 1并更新到我的数据库中,反之亦然。

感谢您的关注

您的表单未发送任何内容到updatestatus.php,您可以将数据以隐藏形式添加到POST中,如下所示:

echo "<form action='updatestatus.php' method='post'>";
echo "<input type='hidden' value='".$row['id']."' name='id' />";
echo "<input type='hidden' value='".$row['status']."' name='status' />";
echo "<td><input type='submit' name='submit' value='Submit'></td>";
echo "</form>";

这是对上面代码的简单修复,在注释中还提到了一些安全缺陷和效率方法。

检查此PHP代码

while($row = mysql_fetch_array( $result )) {

    echo "<tr>";
    echo '<td>' . $row['id'] . '</td>';
    echo '<td>' . $row['fullname'] . '</td>';
    echo '<td>' . $row['message'] . '</td>';
    echo '<td>' . $row['country'] . '</td>';
    echo '<td>' . $row['email'] . '</td>';
    echo '<td>' . $row['website'] . '</td>';
    echo '<td>' . $row['date'] . '</td>';
    echo "<td>" . $row['status'] . " </td>";
    echo "<td>";
    echo "<form action='updatestatus.php' method='post'>";
    echo "<input type='hidden' value='".$row['id']."' name='id' />";
    echo "<input type='hidden' value='".$row['status']."' name='status' />";
    echo "<td><input type='submit' name='submit' value='Submit'></td>";
    echo "</form>";
    echo "</td>";
    echo '<td><a href="edit.php?id=' . $row['id'] . '">Edit</a></td>';
    echo '<td><a href="delete.php?id=' . $row['id'] . '">Delete</a></td>';
    echo "</tr>"; 

}

updatestatus.php

 // check if the form has been submitted. 
     if (isset($_POST['submit']))
     { 
     // confirm that the 'id' value is a valid integer before getting the form data
     if (is_numeric($_POST['id']))
     {
     // get form data, making sure it is valid
     $id = $_POST['id'];

     $status = $_POST['status'];

     if ($status == 0){
         $status == 1;
         mysql_query("UPDATE personalguestbook SET status='".$status."' WHERE id='".$id."'")
     or die(mysql_error());
     } else {
          $status == 0;
         mysql_query("UPDATE personalguestbook SET status='".$status."' WHERE id='$id'")
     or die(mysql_error());

     }
       header("Location: view.php"); 
     }
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM