【发布时间】:2017-10-27 17:10:39
【问题描述】:
我需要一点帮助。我有一个页面 profile.php 和一个删除帐户的选项:
// DELETE THE ACCOUNT !!
$_SESSION["delacc"] = FALSE;
if (isset ($_POST ['deleteaccount'])) {
$deleteaccount = $_POST['deleteaccount'];
$delacc="DELETE FROM users WHERE username='$username'";
$resdelacc = mysqli_query($con,$delacc);
if ($resdelacc) {
header('Location: index.php');
$_SESSION["delacc"] = TRUE;
unset($_SESSION['username']);
} else {
echo "ERROR !!! Something were wrong !!";
}
}
问题在于 if ($resdelacc)。如果这是真的,导致帐户被删除,取消设置会话用户名(注销),然后我想将页面重定向到 index.php 我有代码的地方:
if(isset($_SESSION["delacc"])) {
if($_SESSION["delacc"] == TRUE) {
echo "<b><font color='red'>YOUR ACCOUNT WAS SUCCESFULLY DELETED !!</font></b>";
$_SESSION['delacc'] = FALSE;
}
}
我唯一的问题是这行“header('Location: index.php');”(来自 profile.php)在任何情况下都不会运行。当用户点击“DELETE ACCOUNT”按钮时,页面仍然是profil.php,然后,如果刷新或访问另一个页面,将被重定向并显示为访客。
【问题讨论】:
-
首先,在取消设置会话后放置重定向。另外,您是否尝试将其重定向到另一个页面?例如
header('Location: http://google.com');看看它是否有效?我认为您处理 URL 的方式有问题。