无法使用PHP表单编辑表中的数据

无法使用PHP表单编辑表中的数据,php,mysql,forms,Php,Mysql,Forms,请查看此代码,无法找到实际错误: 这是PHP上传代码: <?php include_once("config.php"); if(isset($_GET['pro_id'])) { $id=$_GET['pro_id']; if(isset($_POST['submitBtn'])) { $dept_id = $_POST['de

请查看此代码,无法找到实际错误:

这是PHP上传代码:

<?php
            include_once("config.php");
            if(isset($_GET['pro_id']))
            {
            $id=$_GET['pro_id'];
            if(isset($_POST['submitBtn']))          {
            $dept_id = $_POST['dept_id'];
            $cat_id = $_POST['cat_id'];
            /*$pro_id = $_POST['pro_id'];*/
            $pro_name = $_POST['pro_name'];
            $pro_desc = $_POST['pro_desc'];
            $pro_spec = $_POST['pro_spec'];
            $pro_price = $_POST['pro_price'];
            $status = 'on';
            $pro_keywords = $_POST['pro_keywords'];
            //image names
            $pro_image = $_FILES['pro_image']['name'];
            //temp images names
            $temp_image = $_FILES['pro_image']['tmp_name'];

            if($dept_id=='' OR $cat_id=='' OR $pro_name=='' OR $pro_desc=='' OR $pro_spec=='' OR $pro_price=='' OR  $pro_image=='' OR $pro_keywords=='')
                    {
            echo "<script>alert('All the fields are mandatory')</script>";
            exit();
                    }
            else
            {
            //upload image to folder
            move_uploaded_file($temp_image,"images/product_images/$pro_image");
            $run_query1 = mysqli_query($login, "update products1 SET (dept_id,cat_id,pro_name,pro_desc,pro_spec,pro_price,pro_image,status,date,pro_keywords) values (  '$dept_id','$cat_id','$pro_name','$pro_desc','$pro_spec','$pro_price','$pro_image','$status','NOW()','$pro_keywords' WHERE pro_id='$id'");

            if($run_query1)
                    {
                echo "<script>alert('Product updated successfully')</script>";
                exit();     
                    }
            else
                {
                echo "<script>alert('Errors')</script>";
                }
            }           }

            $query1 = mysqli_query($login, "select * from products1 where pro_id='$id'");
            $query2 = mysqli_fetch_array($query1);
            ?>

产品规格:
产品价格:

表单方法是POST,您正在if循环中使用GET方法

if(isset($_GET['pro_id']))
在这里使用POST

我已经在您的完整代码中进行了更改。使用此代码,并在需要时进行更改(如果出现问题)

PHP代码

<?php
        include_once("config.php");

        if(isset($_POST['submitBtn']))          
        {
        $dept_id = $_POST['dept_id'];
        $cat_id = $_POST['cat_id'];
        $pro_id = $_POST['pro_id'];*/
        $pro_name = $_POST['pro_name'];
        $pro_desc = $_POST['pro_desc'];
        $pro_spec = $_POST['pro_spec'];
        $pro_price = $_POST['pro_price'];
        $status = 'on';
        $pro_keywords = $_POST['pro_keywords'];
        //image names
        $pro_image = $_FILES['pro_image']['name'];
        //temp images names
        $temp_image = $_FILES['pro_image']['tmp_name'];

        if($dept_id=='' OR $cat_id=='' OR $pro_name=='' OR $pro_desc=='' OR $pro_spec=='' OR $pro_price=='' OR  $pro_image=='' OR $pro_keywords=='')
                {
        echo "<script>alert('All the fields are mandatory')</script>";
        exit();
                }
        else
        {
        //upload image to folder
        move_uploaded_file($temp_image,"images/product_images/$pro_image");
        $run_query1 = mysqli_query($login, "update products1 SET (dept_id,cat_id,pro_name,pro_desc,pro_spec,pro_price,pro_image,status,date,pro_keywords) values (  '$dept_id','$cat_id','$pro_name','$pro_desc','$pro_spec','$pro_price','$pro_image','$status','NOW()','$pro_keywords' WHERE pro_id='$id'");

        if($run_query1)
                {
            echo "<script>alert('Product updated successfully')</script>";
            exit();     
                }
        else
            {
            echo "<script>alert('Errors')</script>";
            }
        }     
    }

        $query2 = array();
        if(isset($_GET['pro_id']))
        {
            $id=$_GET['pro_id'];
            $query1 = mysqli_query($login, "select * from products1 where pro_id='$id'");
            $query2 = mysqli_fetch_array($query1);
        }            
        ?>

表单方法是POST,您正在if循环中使用GET方法

if(isset($_GET['pro_id']))
在这里使用POST

我已经在您的完整代码中进行了更改。使用此代码,并在需要时进行更改(如果出现问题)

PHP代码

<?php
        include_once("config.php");

        if(isset($_POST['submitBtn']))          
        {
        $dept_id = $_POST['dept_id'];
        $cat_id = $_POST['cat_id'];
        $pro_id = $_POST['pro_id'];*/
        $pro_name = $_POST['pro_name'];
        $pro_desc = $_POST['pro_desc'];
        $pro_spec = $_POST['pro_spec'];
        $pro_price = $_POST['pro_price'];
        $status = 'on';
        $pro_keywords = $_POST['pro_keywords'];
        //image names
        $pro_image = $_FILES['pro_image']['name'];
        //temp images names
        $temp_image = $_FILES['pro_image']['tmp_name'];

        if($dept_id=='' OR $cat_id=='' OR $pro_name=='' OR $pro_desc=='' OR $pro_spec=='' OR $pro_price=='' OR  $pro_image=='' OR $pro_keywords=='')
                {
        echo "<script>alert('All the fields are mandatory')</script>";
        exit();
                }
        else
        {
        //upload image to folder
        move_uploaded_file($temp_image,"images/product_images/$pro_image");
        $run_query1 = mysqli_query($login, "update products1 SET (dept_id,cat_id,pro_name,pro_desc,pro_spec,pro_price,pro_image,status,date,pro_keywords) values (  '$dept_id','$cat_id','$pro_name','$pro_desc','$pro_spec','$pro_price','$pro_image','$status','NOW()','$pro_keywords' WHERE pro_id='$id'");

        if($run_query1)
                {
            echo "<script>alert('Product updated successfully')</script>";
            exit();     
                }
        else
            {
            echo "<script>alert('Errors')</script>";
            }
        }     
    }

        $query2 = array();
        if(isset($_GET['pro_id']))
        {
            $id=$_GET['pro_id'];
            $query1 = mysqli_query($login, "select * from products1 where pro_id='$id'");
            $query2 = mysqli_fetch_array($query1);
        }            
        ?>

您的pro\u id字段会在HTML中使用
注释掉,因此以下内容永远不会正确:

if(设置($\u GET['pro\u id'])


此外,您的表单方法POST和正在查找的$\u GET之间存在不匹配。

您的pro\u id字段在HTML中使用
注释掉,因此以下内容永远不正确:

if(设置($\u GET['pro\u id'])

此外,表单方法POST和要查找的$\u GET之间也不匹配。

请尝试执行以下步骤:

第一件事是把这行注释掉

<!--<td width="231"><input type="hidden" name="pro_id" id="pro_id" value="<t?php echo $pro_id; ?>" /></td>-->   
您将获得$pro_id值。

尝试执行以下步骤:

第一件事是把这行注释掉

<!--<td width="231"><input type="hidden" name="pro_id" id="pro_id" value="<t?php echo $pro_id; ?>" /></td>-->   

您将获得$pro_id值。

您对更新的查询是否正确?我想你必须使用

UPDATE products1 SET dept_id='$dept_id',cat_id ='$cat_id'... the rest of values
WHERE pro_id='$id'

并验证您的部门id是否为INT以及cat id,因此如果它们为INT,则不需要“”


您对更新的查询是否正确?我想你必须使用

UPDATE products1 SET dept_id='$dept_id',cat_id ='$cat_id'... the rest of values
WHERE pro_id='$id'

并验证您的部门id是否为INT以及cat id,因此如果它们为INT,则不需要“”



如何获取此$_GET,我必须首先从表中检索数据。您编写的代码不完整。prod_id以表单形式注释。它隐藏的领域。每当表单加载时,取消对该字段的注释并将值存储在其中。表单提交时检查该值。如果值存在,则更新该产品id上的数据,否则不存在,则根据您的建议在表中创建新条目,取消对表单中的pro_id隐藏字段的注释,但遇到相同问题,请帮助设置prod_id的值如果为编辑或更新而打开的表单不起作用,你能纠正错误并发布它,这样我就可以清楚地理解错误,因为我是php新手,我必须将我的项目提交给我的研究所,还有一件事,我在编辑用户详细信息时使用了相同的代码,工作正常。请帮忙。谢谢你如何取这个$_GET,我必须先从表中检索数据。你写的代码不完整。prod_id以表单形式注释。它隐藏的领域。每当表单加载时,取消对该字段的注释并将值存储在其中。表单提交时检查该值。如果值存在,则更新该产品id上的数据,否则不存在,则根据您的建议在表中创建新条目,取消对表单中的pro_id隐藏字段的注释,但遇到相同问题,请帮助设置prod_id的值如果为编辑或更新而打开的表单不起作用,你能纠正错误并发布它,这样我就可以清楚地理解错误,因为我是php新手,我必须将我的项目提交给我的研究所,还有一件事,我在编辑用户详细信息时使用了相同的代码,工作正常。请帮助。谢谢Peter,无法理解,请解释。Peter,无法理解,请解释。在您的建议完成所有更改后,但这次没有使用if(isset($\u POST['pro\u id'))显示表单,请帮助。--(从html文件表单中注释掉这一行,并在值字段中稍作修改,我认为您正在放置if(isset($\u POST['pro\u id'])。我认为您正在将其放置在html文件中。不要将其放置在html中,您必须将其放置在php代码中。您已经放置了if(isset($\u GET['pro\u id'])),只需将$_改为$_POST并注释掉$pro_id=$_POST['pro_id'];在您的建议完成所有更改后,它肯定会起作用,但这次没有使用if(isset($_POST['pro_id'])显示表单,请帮助。--(从html文件表单中注释掉这一行,并在值字段中做一些更正,我认为您放置的是if)(isset($\u POST['pro\u id'])。我认为您正在将其放入html文件中。不要将其放入html,您必须将其放入php代码中。您已经放置了if(isset($\u GET['pro\u id']),只需将$\u GET更改为$\u POST并注释掉$pro\u id=$\u POST['pro\u id'],它肯定会将workdept_id、cat_id和pro_id作为INT数据类型,我也更新了查询,但结果是相同的,即使在我的另一个编辑页面编辑用户部分中相同的代码工作正常,请帮助如果它们是INT,您不需要“$dept_id”,只需尝试不使用“$dept_id”,就像每个INT列中的$dept_id一样dept_id、cat_id和pro_id是iNT数据类型,我也更新了查询,但结果是相同的,即使相同的代码在我的另一个编辑页面“编辑用户”部分工作正常,请帮助如果它们是INT,您不需要“$dept\u id”,只需在每个INT列中尝试不使用“$dept\u id”