未定义的索引:第13行的C:\ xampp \ htdocs \ test \ edit.php中的id

时间:2018-06-11 10:49:55

标签: php mysql

给定代码演示了PHP中的crud操作。

基本HTML表单包含三个字段NAMEEMAIlDEPT和一个提交按钮。

基本操作正常工作添加删除和表单提交但是当我想更新它给出的数据时

  

未定义的索引:第13行的C:\ xampp \ htdocs \ test \ edit.php中的id。

但是当我在edit.php中将查询更改为已命名的ID时,它将正常工作,但在edit.php文件中将查询中的名称更改为id时,它无法正常工作 表名是crud。并且id是表中的主键。 id自动递增。 我不明白它为什么使用名称而不使用id提交。

        <html>
        <head>
            <title>CRUD</title>
        </head>
        <style type="text/css">
            form{
                text-align: center;
                margin-top:50px; 
                font-family:serif;
                color: grey;
            }
            input{
                margin:10px;
            }

        </style>
        <body>

        <form action="submit.php" method="POST">
            ID:<input type="text" name="id" style="width:200px"; disabled required placeholder="Autogenrated">
            <br>
            Name:<input type="text" name="name"  style="width:200px";required><br>
            email:<input type="email" name="email"  style="width:200px";required><br>
            Dept:<input type="text" name="dept" style="width:200px"; required><br>
            <button type="submit" name="submit" style="width:80px";>Submit</button>
        </form>
        </div>
        </body>
        </html>

        <?php 
        include_once('db.php');
        if (isset($_GET['edit'])){
            $id=$_GET['edit'];
            $sql=$conn->query("select * from crud where id=$id");
            while($row=$sql->fetch_array()){
                $name=$row['name'];
                $email=$row['email'];
                $dept=$row['dept'];
            }
        }
        if (isset($_POST['update'])){
            $id=$_POST['id'];
            echo $id ;  
        }

        ?>
        <form action="" method="POST">
            ID:<input type="text" name="id" value="<?php echo $id ?>" style="width:200px"; disabled required placeholder="Autogenrated" >
            <br>
            Name:<input type="text" name="name" value="<?php echo $name ?>" style="width:200px";required><br>
            email:<input type="email" name="email" value="<?php echo $email ?>" style="width:200px";required><br>
            Dept:<input type="text" name="dept" value="<?php echo $dept ?>" style="width:200px"; required><br>
            <button type="submit" name="update" style="width:80px";>Update</button>


        </form>
        <?php

        include_once('db.php');
        if (isset($_GET['del'])) {
            $id=$_GET['del'];

            $sql="delete from crud where id='$id'";
            mysqli_query($conn,$sql);
        }


        header('Location:display.php');
        ?>
        <?php 

        include_once('db.php');
        $sql="select * from crud";
        $result=mysqli_query($conn,$sql);

        if(mysqli_num_rows($result)>0){
            while ($row=mysqli_fetch_assoc($result)) {
                echo "--Name:".$row["name"]."--Email:".$row["email"]." "."--dept:".$row["dept"].""; 
        echo "<br>";
                echo '<td><a href="edit.php?edit=' . $row['id'] . '">Edit</a></td>';

        echo '<td><a href="delete.php?del=' . $row['id'] . '">Delete</a></td>';
        echo "<br>";
        echo '<td><a href="index.php?">add</a></td>';echo "<br>";

            }

        }


         ?>

        <?php 
        $hostname="localhost";
        $user="root";
        $pass="";
        $dbname="test";
        $conn=mysqli_connect($hostname,$user,$pass,$dbname);
         ?>

1 个答案:

答案 0 :(得分:1)

更改此

.container {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  background-color: #EAEBEF;

  .title {
    padding: 20px;
    background-color: #48CFAE;
  }

  .fullwidth {
    background-color: #87BDFF;
    flex: 0 0 100%;
    height: 60px;
    margin: 10px 0;
  }
}

if (isset($_POST['update'])){
            $id=$_POST['id'];
            echo $id ;  
        }