php - 为什么 html 输入提交不分配 $_POST 数组值

标签 php html mysql

请检查代码的最后一部分,其中 input type="submit"name="save_changes_submit"。此表单未在 $_POST 中分配。我在这里做什么错了?我在这里做的任何 html 错误吗?我怎样才能从这个提交中获得 $_POST 值?

echo '<form action="" method="post">ID Number:<input type="number" name="id_number" value="number"><br><br><input type="submit" value="Search Product" name="id_number_submit">';

if (isset($_POST['id_number_submit'])) {
    $id_number = $_POST['id_number'];

    $q = mysqli_query($conn, "SELECT * FROM product WHERE id='$id_number'");

    $row = mysqli_fetch_array($q);

    if (empty($row)) {
        echo "Error: Invalid product id";
    }else{

    $product_name = $row['product_name'];
    $product_des = $row['product_des'];
    $product_price = $row['product_price'];


echo '<br><br><input type="number" name="product_price" value="'.$product_price.'">';
echo '<br><br><input type="text" name="product_name" value="'.$product_name.'">';
echo '<br><br><textarea rows="8" cols="100" name="product_des">'.$product_des.'</textarea><br><input type="submit" value="Save Changes" name="save_changes_submit">';

if (isset($_POST['save_changes_submit'])) {
    echo $c_product_price = $_POST['product_price'];
    echo $c_product_name = $_POST['product_name'];
    echo $c_product_des = $_POST['product_des'];
}
}
}

echo '</form>';

最佳答案

if 条件 if(isset($_POST['save_changes_submit']))if(isset($_POST['id_number_submit'])) 中。这就是问题所在。在这里。

<?php
echo '<form action="" method="post">ID Number:<input type="number" name="id_number" value="number"><br><br><input type="submit" value="Search Product" name="id_number_submit">';

    if(isset($_POST['id_number_submit'])) {
        $id_number = $_POST['id_number'];

        $q = mysqli_query($conn, "SELECT * FROM product WHERE id='$id_number'");

        $row = mysqli_fetch_array($q);

        if (empty($row)){
            echo "Error: Invalid product id";
        }else{
            $product_name = $row['product_name'];
            $product_des = $row['product_des'];
            $product_price = $row['product_price'];


        echo '<br><br><input type="number" name="product_price" value="'.$product_price.'">';
        echo '<br><br><input type="text" name="product_name" value="'.$product_name.'">';
        echo '<br><br><textarea rows="8" cols="100" name="product_des">'.$product_des.'</textarea><br><input type="submit" value="Save Changes" name="save_changes_submit">';
        }
    }
    if(isset($_POST['save_changes_submit'])) {
        echo $c_product_price = $_POST['product_price'];
        echo $c_product_name = $_POST['product_name'];
        echo $c_product_des = $_POST['product_des'];
    }
    echo '</form>';
?>

关于php - 为什么 html 输入提交不分配 $_POST 数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38049177/

相关文章:

php - 如何从多个mysql表中获取数据并生成一个JSON输出

javascript - 如何使具有大型 cytoscape.js 网络的页面更具响应性

MySQL 喜欢 x ||是|| z ||等在第一个 || 后停止工作

mysql - 如何提高 zend paginator 分页的性能

html - 将摄氏度符号编码到网页中的最佳方法?

MySQL 查询根据第二个表上的状态丢弃记录

php - codeigniter 查询中 where 子句中的未知列

PHP语句同步或异步

php - 存储到数据库中 - 问题

html - 仅使用 CSS 顺序显示 HTML 部分