删除图像后重定向

时间:2015-03-27 07:37:36

标签: php mysql pdo

这可能是一个非常新鲜的问题,但我无法弄清楚如何做到这一点。所以我有一个页面,我列出了不同图像类别的拇指。 这是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=...,从哪个类别中删除图片。

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

在第二个链接上,您还应在网址中添加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> 

答案 2 :(得分:1)

当您从图像表中按图像ID选择image_path时,您必须获取类别ID,然后您将获得cat id。并且,您可以轻松地重定向回“single_cat?cat_id =?”页面。

答案 3 :(得分:0)

使用它:

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