删除图像后重定向回


Redirecting back after image delete

这可能是一个非常新的问题,但我不知道如何做到这一点。所以我有一个页面,我列出了不同图像类别的拇指。以下是index.php 中的内容

<a href="single_cat.php?cat_id='.$row['cat_id'].'"><p>'.$row['cat_name'].'</p></a>

然后在single_cat.php中,我列出了cat_id中的所有项目。所有项目都有按钮Delete,如果真的想删除此图像,它会打开带有警告的页面。这是按钮删除

<a href="dellImage.php?image_id='.$row['image_id'].'" class="btn btn-default" role="button">
   Delete
</a> 

所以我尝试的是在图像被删除后将用户从dellImage.php重定向回single_cat

在dellImage.php 中

if (isset($_GET['image_id']))
{
    $image_id = $_GET['image_id'];
}
else
{
    die('<code>Error! Please try again.</code>');
}
if ( isset($_GET['image_id']) && isset($_POST['image_id']))  
{                   
    $stmt = $pdo->prepare("SELECT image_path FROM images where image_id = :image_id"); 
    $stmt->bindParam(':image_id', $image_id, PDO::PARAM_INT);
    $stmt->execute();
    if ($result = $stmt->fetch()) 
    {                       
        unlink("" . $result[0]);
        if($stmt = $pdo->prepare("DELETE FROM images WHERE image_id = :image_id"))
        $stmt->bindParam(":image_id", $image_id, PDO::PARAM_INT);
        $stmt->execute();
    }                   
    Database::disconnect();
if (isset($_POST)) {
    $_SESSION['deleted'] = '<code><center>The image is deleted!</center></code>';
} else {
    $_SESSION['deleted'] = false;
}
    header('Location: index.php');         
}           

所以我想重定向回single_cat?cat_id=...,从哪个类别中删除图像。

在第二个链接上,您还应该在URL中添加cat_id的值,如下所示:

<a href="dellImage.php?image_id='.$row["image_id"].'&cat_id='.$_GET["cat_id"].'" class="btn btn-default" role="button">
   Delete
</a> 

然后,对于您的重定向:

header("LOCATION:singlecat.php?cat_id=".GET['cat_id'].");

我也想问一下你的链接是在<?php ?>还是在<html></html>

因为如果它在<?php ?>中,你的链接应该是这样的:

echo "<a href='dellImage.php?image_id=".$row['image_id']."&cat_id=".$_GET['cat_id']."' class='btn btn-default' role='button'>
   Delete
</a>";

如果它在<?php ?>之外,它应该看起来像这样:

<a href="dellImage.php?image_id=<?php echo $row['image_id']; ?>&cat_id=<?php echo $_GET['cat_id']; ?>" class="btn btn-default" role="button">
   Delete
</a> 

您就快到了。。将cat_id参数添加到删除按钮dellImage.php?image_id='.$row['image_id'].'&cat_id='.$_GET['cat_id'].',并在delImage.php中结束调用header('Location: single_cat.php?cat_id='.$row['cat_id']); exit;您可以检查cat_id参数是否存在,否则您可以将用户重定向到index.php

当你根据图像id从图像表中选择image_path时,你必须获得类别id,然后你会得到猫id。而且,你可以很容易地重定向回你的"single_cat?cat_id=?"页面。

使用这个:

window.location = 'single_cat?cat_id=...';