繁体   English   中英

PHP Update总是更新空字符串

[英]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.

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