从数据库中删除记录,它说找不到请求 URL

我对 PHP 很陌生,我正在尝试使用 PHP 进行基本的 CRUD。我可以添加记录并将其显示在表格中,同一行上有两个操作按钮。但是,我无法从数据库中删除记录并更新表(删除数据)。当我将鼠标悬停在删除按钮上时,似乎正在解析该变量,但当我单击删除按钮时,它说找不到 URL。我在下面包含了一些代码。提前致谢。


显示数据库中所有记录的表:


    <div class="form-group">

      <table class='table'>

          <thead>

            <tr>

              <th>First name</th>

              <th>Last name</th>

              <th>Gender</th>

              <th>Location</th>

              <th colspan="2">Action</th>

            </tr>

          </thead>

          <?php

            $result = $conn->query('SELECT * FROM tb_user ORDER BY id DESC') or die($conn->error);

            while($row = $result->fetch_object()):?>

            <tr>

              <td><?php echo $row->first_name; ?> </td>

              <td><?php echo $row->last_name; ?></td>

              <td><?php echo $row->gender; ?></td>

              <td><?php echo $row->place; ?></td>

              <td colspan="2">

                <a href="index.php?edit<?php echo $row->id; ?>" class="btn btn-info">Edit</a>

                <a href="process.php?delete=<?php echo $row->id; ?>" class="btn btn-danger">Delete</a>

              </td>

            </tr>

                <?php endwhile; ?>

        </table>

      </div>

这是“删除”代码:


   if(isset($_GET['delete'])){

      $uId = $_GET['delete'];

      $sql = "DELETE FROM tb_user WHERE id = $uId";

      $conn->query($sql);


      $_SESSION['message'] = "Record has been deleted!";

      $_SESSION['msg_type'] = "danger";

      header("location: index.php");

      

   }

我能够访问具有正确 URL 的空白页面,而不是收到“URL 未找到”错误。


问题是我的process.php文件与我的文件不在同一目录中index.php。


森林海
浏览 97回答 2
2回答

动漫人物

process.php 应包含在index.php 的顶部。如果没有(您没有将其包含在顶部),则header("Location: index.php");不起作用。在这种情况下,您不能使用 PHP 标头函数进行重定向,而应该使用 javascript 重定向函数,因为标头已发送到缓冲区。启用所有日志使用功能后即可确认ini_set。启用所有错误和警告。ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);process.php 位于includes/ 文件夹下。因此,您可能会在重定向中收到 404 错误。也就是说删除条目后,你的URL必须是includes/index.php而不是index.php最简单的方法是将process.php放在index.php的同一级目录下

森栏

当刷新页面时,删除的行消失了吗,是index.php中还是process.php中的删除代码,如果页面刷新后消失,则意味着代码在index.php中运行并且代码不会使页面刷新,如果process.php 中的代码确保页面位于同一目录中,当您说(当我单击删除按钮时显示未找到 URL)时,这意味着代码正在工作,因为它删除了行但不刷新表
打开App,查看更多内容
随时随地看视频慕课网APP