0

解决了

在过去的两周里,我遇到了一个让我心烦意乱的问题。我希望能够根据给定变量删除表中的帖子。由于不同的用户内容,删除属于该特定用户的帖子非常困难。

我真正想知道的是如何从 admin.php 上的 $rad 获取特定 ID 到 perform_remove_time.php 上的删除查询。我应该使用 GET 还是 POST 或任何其他方法?稍后我将使用 real_escape_string 进行“输入清理”,并且我也知道 mysqli 与 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"]?>&nbsp;&#124;&nbsp;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();    
}
4

1 回答 1

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>"; ?>

该修改将使您的删除链接能够使用正确的 GET 参数访问“perform_remove_time.php”以使其正常工作


更新

perform_remove_time.php中的代码片段对我来说看起来不错,只要$time_id$user_id包含有效值并且您的 sql 语句正确,它就可以工作。现在,从您发布的代码片段中,我发现在perform_remove_time.php $time_id中将不包含任何内容,因为您的删除链接代码中没有time_id<a href="perform_remove_time.php?id=<? echo $rad['time_id']; ?>"> | Delete work session</a> GET 参数,GET 参数中有id,所以我只是将id更改为time_id来获取工作的东西。

新的删除链接代码

<? echo "<a href='perform_remove_time.php?time_id=".$rad['time_id']."'> | Delete work session</a>"; ?>

于 2013-05-29T18:32:29.217 回答