-1

a.php在这里我将我的状态保存为登录当我登录时我转到b.php所以当我尝试返回a.php时,如果我的状态已登录,它会检查我的状态以再次将我定向到b.php

<?php 
session_start();
$_SESSION['login_state'];
?>
<?php
if($_SESSION['login_state'] == "loged in")
header("location:b.php");
?>
<html>
<body>
<form name="form1" method="post" action="b.php">
username :<input type="text"/>
</br>
submit :<input type="submit"/>
</form>

</body>

</html> 

b.php 在这里我有一个函数的链接,当我按下链接注销时,我调用该函数将我的状态更改为注销并将我定向到 a.php,所以当 a.php 检查我的状态时它没有登录所以它不会再将我引导至 b.php。

<script type="text/javascript">
function logout()
{
<?php
$_SESSION['login_state']="loged out";
header("location:a.php");
?>
}
</script>
<?php
session_start();
$_SESSION['login_state']="loged in";
echo $_SESSION['login_state'];
?>
<html>
<body>
<a href="#" onClick="logout()">logout</a>
</body>
</html>

我想通过显示警报来阻止用户(您想注销还是想在离开此页面之前保存您的工作)我该怎么做?

4

1 回答 1

0

由于您繁琐的英语,我不确定您要达到什么目的...

您不能在 logout() 函数中将 javascript 和 php 混合在一起。但是有一个解决方案:

  1. 制作名为“logout.php”的新文件
  2. 将您的 javascript logout() 函数内容放入其中
  3. 然后修复你的html: <a href="logout.php">logout</a>

然后,你原来的问题。您可以使用.onbeforeunload

window.onbeforeunload = function(e) {
  return 'Do you want to log out or do you want to save you work before leaving this page?';
};

请记住,并非所有浏览器都支持返回文本。

于 2013-11-09T15:39:21.953 回答