[英]PHP Update always update empty string
让我解释一下我从数据库获取数据并在文本输入中显示数据的代码,然后当用户进行更改时,我得到了用户输入并更新了表,但是当它更新时,它更新为空数据
<?php
echo "<form action='' method='get'>";
echo "<td class='data'><input type='product_name' id='product_name' value=" . $row['product_name'] . "> </td>";
echo "<td class='data'><input type='products_price' id='products_price' value=" . $row['products_price'] . "> </td>";
echo "<td class='data'><input type='products_desc' id='products_desc' value=" . $row['products_desc'] . "> </td>";
echo "</form>";
echo "</tr>";
echo "</table>";
echo "<form action='' method='POST'>
<input name='update' type='submit' value='Update' style='margin-left: 720px'>
</form>";
$product_name = isset($_GET['product_name']) ? $_GET['product_name'] : '';
$products_desc = isset($_GET['products_desc']) ? $_GET['products_desc'] : '';
$products_price = isset($_GET['products_price']) ? $_GET['products_price'] : '';
if (isset($_POST["update"])) {
$sql1 = "UPDATE tbl_products SET products_desc='" . $products_desc . "',product_name='" . $product_name . "',products_price='" . $products_price . "' WHERE products_id='" . $product_id . "'";
mysqli_query($conn, $sql1) or die(mysqli_error($conn));
echo "yess";
}
?>
您的input
元素没有name
属性,因此$_GET['product_name']
内容始终为空。 name
属性是发送到服务器的键/值对中的键。
此外, type
属性都已损坏。 (尽管我怀疑浏览器默认情况下会自动将其“更正”为文本输入。)
添加name
属性(和修复type
):
<input type='text' name='product_name' id='product_name' ...
此外 ,您有两种形式。 因此,当您单击按钮时, 该表单不会提交任何输入。 因为它们的格式不同。
将它们全部放入相同的form
,并确定要使用GET
还是POST
(因为服务器端代码需要知道这一点)。
您在一个表单标签中定义了数据表单,并在另一个表单标签中提交了表单:
<form action='' method='POST'>
<input name='update' type='submit' value='Update' style='margin-left: 720px'>
</form>
echo "<form action='' method='get'>";
echo "<td class='data'><input type='product_name' id='product_name' value=" . $row['product_name'] . "> </td>";
echo "<td class='data'><input type='products_price' id='products_price' value=" . $row['products_price'] . "> </td>";
echo "<td class='data'><input type='products_desc' id='products_desc' value=" . $row['products_desc'] . "> </td>";
echo "</form>";
当您提交第一个表格但您的数据在另一个表格上时
这是什么问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.