我对 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个赞
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的同一级目录下
森栏
TA贡献1810条经验 获得超5个赞
当刷新页面时,删除的行消失了吗,是index.php中还是process.php中的删除代码,如果页面刷新后消失,则意味着代码在index.php中运行并且代码不会使页面刷新,如果process.php 中的代码确保页面位于同一目录中,当您说(当我单击删除按钮时显示未找到 URL)时,这意味着代码正在工作,因为它删除了行但不刷新表
- 2 回答
- 0 关注
- 96 浏览
添加回答
举报
0/150
提交
取消