解决
我有一个问题,过去两周一直在撕裂我。 我希望能够根据给定的变量删除表格中的帖子。由于用户内容不同,删除属于该特定用户的帖子非常困难。
我真正想知道的是如何从admin.php上的$ rad获取某个ID到perform_remove_time.php上的删除查询。我应该使用GET或POST或任何其他方法吗?稍后我将使用real_escape_string进行“输入清理”,并且我也知道mysqli vs mysql。我的代码并不漂亮,请耐心等待。
来自perform_remove_time.php
<?
$user_id = $_SESSION['user_id'];
$time_id = ($_GET['time_id']);
$sql = "DELETE FROM time WHERE time_id = '$time_id' AND user_id = '$user_id'";
$result = mysql_query($sql);
if($result) {
echo "<h3>Time deleted!</h3>";
header("location:admin.php");
} else {
echo "Something is wrong!";
}
?>
这是获取和显示帖子的位置 - admin.php
$user_id = $_SESSION['user_id'];
$time_id = ($_GET['time_id']);
$sql = "SELECT * FROM time WHERE user_id = '$user_id' ORDER BY time_id DESC";
$result = mysql_db_query("database","$sql") or die (mysql_error());
while ($rad=mysql_fetch_array($result)) {
?>
<?='Work session: '.$rad["time_id"]?> | Time on projekt: <?=$rad["hours"]?><a href="perform_remove_time.php?id=<? echo $rad['time_id']; ?>"> | Delete work session</a>
也可以从页面上的admin.php进一步了解
if (!isset($_SESSION['user'])) {
header("Location:default.php");
die();
}
答案 0 :(得分:2)
根据我的观察,'admin.php'中的删除链接不会让您使用正确的GET参数(time_id)来执行'perform_remove_time.php',以使删除代码生效。
所以我对你的删除链接进行了一些修改:
<? echo "<a href='perform_remove_time.php?time_id=".$rad['time_id']."'> | Delete work session</a>"; ?>
该修改将使您的删除链接变为'perform_remove_time.php',并使用正确的GET参数使其正常工作
<强>更新强>
来自 perform_remove_time.php 的代码段对我来说很好,并且只要 $ time_id 和 $ user_id 包含有效值就可以正常工作以及你的sql语句是否正确。现在,从您发布的代码段中,我发现 perform_remove_time.php $ time_id 将不包含任何内容,因为没有 time_id GET参数您的删除链接代码<a href="perform_remove_time.php?id=<? echo $rad['time_id']; ?>"> | Delete work session</a>
,GET参数有 ID ,因此我只需将 id 更改为 time_id 即可使其正常运行。
新的删除链接代码
<? echo "<a href='perform_remove_time.php?time_id=".$rad['time_id']."'> | Delete work session</a>"; ?>