为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
森林海 2023-08-06 14:44:05
我对 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。
查看完整描述

2 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

  1. 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);
  1. process.php 位于includes/ 文件夹下。因此,您可能会在重定向中收到 404 错误。也就是说删除条目后,你的URL必须是includes/index.php而不是index.php最简单的方法是将process.php放在index.php的同一级目录下

查看完整回答
反对 回复 2023-08-06
?
森栏

TA贡献1810条经验 获得超5个赞

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



查看完整回答
反对 回复 2023-08-06
  • 2 回答
  • 0 关注
  • 69 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信