我在制作一个使用javascript和php的网站。在php中注销限制
当从网站用户注销,然后如果他点击浏览器的后退按钮,然后它关系到该用户登录之前的状态。
我怎么能限制呢?
2.可以通过会话或其他方式完成吗?
我在制作一个使用javascript和php的网站。在php中注销限制
当从网站用户注销,然后如果他点击浏览器的后退按钮,然后它关系到该用户登录之前的状态。
我怎么能限制呢?
2.可以通过会话或其他方式完成吗?
使用sessions
的login.php:
...
$_SESSION["foo"] = $foo;
...
Logout.php:
在login.php
您将设置一个名为foo
的SESSION
变量(这样用户登录) 。当他注销时,您将destroy/unset
的SESSION
变量名为foo
,因此在每个登录页面中,您可能需要执行if
语句检查SESSION
变量是否已设置(登录)else(未登录),那么您可以重定向用户到你想要的地方。
当用户单击后退按钮时,内容将从浏览器缓存中加载,而不是从服务器加载。这就是它发生的原因。
从我的理解,如果上一页处理来自同一页面的一些输入,浏览器会显示网页过期通知。 这是我在php的例子。
的login.html
<!doctype HTML>
<html>
<body>
<form action="action.php" method="post">
username <input type="text" name="uname"/>
<input type="submit" value='login' />
</form>
</body>
</html>
action.php的
<?php
if(isset($_POST["uname"])){
$user = $_POST["uname"];
session_start();
echo "welcome ". $user;
}
if(isset($_POST["logout"])){
session_unset();
}
?>
<html>
<body>
<form action="action.php" method="post" >
<input type="hidden" name="logout" />
<input type="submit" value="logout" />
</form>
</body>
</html>
如果用户登录电子后出浏览器点击后退按钮显示网页过期消息。
我希望你有很好的愉快。
请检查此代码可能对您有帮助。
文件名:_32_session.php
<?php
session_start();
?>
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<label>Please enter your Name</label>
<input type="text" name="name">
<input type="submit" name="submit" value="Login">
<input type="submit" name="Unset" value="Logout">
</form>
</body>
<?php
if(isset($_POST['Unset']))
{
session_destroy();
header('Location:_32_session.php');
}
elseif(isset($_POST['submit']))
{
$name = $_POST['name'];
$_SESSION['name']=$name;
}
if(isset($_SESSION['name']))
{
echo "<br>";
echo "Wellcome ".$_SESSION['name'];
}
else
{
echo "<br>";
echo "Wellcome Guest";
}
?>
</html>
使用此代码和检查。
问候,
这是不幸的3个问题在一个。请删除其他人并专注于单个主题,展示您尝试过的内容以及问题所在。 –
为注销创建一个页面并将其重定向到另一页 – roullie
慢下来并给出[如何操作](http://stackoverflow.com/help/how-to-ask)读取。除了在一个问题中存在多个问题之外,他们都非常广泛,您需要决定一个问题,然后详细说明并包含您自己尝试的内容。 – Epodax