图片删除后重定向回来
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=...
从哪个类别删除图像。
使用这个:
window.location = 'single_cat?cat_id=...';
你就快完成了.. 添加 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
在第二个 link 上,您还应该将 cat_id
的值添加到 URL 中,如下所示:
<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'].");
我也想问一下你的link是在<?php ?>
里面还是在<html></html>
里面
因为如果它在 <?php ?>
内,您的 link 应该如下所示:
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>
当你从图片table中通过图片id选择image_path时,你必须带上类别id,然后你会得到猫id.And,你可以很容易地重定向返回您的 "single_cat?cat_id= ? " 页面。
这个问题可能是个新手,但我不知道如何做到这一点。所以我有一个页面,其中列出了不同图像类别的缩略图。 这是 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=...
从哪个类别删除图像。
使用这个:
window.location = 'single_cat?cat_id=...';
你就快完成了.. 添加 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
在第二个 link 上,您还应该将 cat_id
的值添加到 URL 中,如下所示:
<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'].");
我也想问一下你的link是在<?php ?>
里面还是在<html></html>
因为如果它在 <?php ?>
内,您的 link 应该如下所示:
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>
当你从图片table中通过图片id选择image_path时,你必须带上类别id,然后你会得到猫id.And,你可以很容易地重定向返回您的 "single_cat?cat_id= ? " 页面。