Я хотел бы, чтобы отобразить всплывающее сообщение, когда пользователь выходит из системы, поэтому я используюPHP эхо Javascript оповещения() не работает
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()
не выйдет.
Во-первых, вы не используете 'Исеть()' правильно [[Docs] (HTTPS : //php.net/manual/en/function.isset.php)]. Во-вторых, вы не можете использовать 'header()' после отправки вывода. Опять же, это четко указано в php docs: https://php.net/manual/en/function.header.php. Наконец, предположив, что вы можете, как вы ожидаете, что ваш код будет работать? Вы не можете смешивать PHP и Javascript; если вы используете php для перенаправления пользователя, это произойдет, прежде чем что-либо будет отправлено пользователю, поэтому предупреждение javascript никогда не будет срабатывать. Вам действительно нужно подумать о своем решении немного больше. –
'isset' будет только когда-либо возвращать' true' или 'false'. –