我想,当用户注销时,显示弹出消息,所以我用PHP的回声JavaScript的alert()不工作
echo "<script>alert(\"You are logged out\");</script>";
但它不工作。
以下是我的编码。我的编码有没有逻辑问题?
<?php
session_start();
if(isset($_SESSION['Username']) == "admin")
{
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
@import "../CSS/Style.css";
@import "../CSS/Admin.css";
</style>
<title>Admin Home Page</title>
</head>
<body>
<div class="body"></div>
<?php
if(isset($_GET['id']) == "logout")
{
session_destroy();
echo "<script>alert(\"You are logged out\");</script>";
header("Location: ..\Main.php");
}
else
{
?>
<div class="menu">
<a href="ManageStaff.php">Manage Staff</a>
</div>
<div class="menu2">
<a href="ManageAccount.php">Manage Account</a>
</div>
<div class="logout">
<a href="AdminHomePage.php?id=logout">Logout</a>
</div>
<?php
}
}
else
{
?>
<center>
<p style="font-size:50px; font-weight:bold">Access Denied</p>
<p style="font-size:18px">Your request for this page has been denied because of access control</p>
</center>
<?php
}
?>
</body>
</html>
会话将被销毁,也将重定向到Main.php,只是alert()
不会出来。
首先,你没有使用'isset()函数'正确[文件](HTTPS ://php.net/manual/en/function.isset.php)]。其次,在发送输出后你不能使用'header()'。同样,这在php文档中明确说明:https://php.net/manual/en/function.header.php。最后,假设你可以,你如何期望你的代码工作?你不能混用PHP和Javascript;如果你使用PHP来重定向用户,这将发生在任何事发送给用户之前,因此JavaScript警报永远不会触发。你真的需要多考虑一下你的解决方案。 –
'isset'只会返回'true'或'false'。 –