2015-05-29 33 views
1

我在制作一个使用javascript和php的网站。在php中注销限制

当从网站用户注销,然后如果他点击浏览器的后退按钮,然后它关系到该用户登录之前的状态。

我怎么能限制呢?

2.可以通过会话或其他方式完成吗?

+3

这是不幸的3个问题在一个。请删除其他人并专注于单个主题,展示您尝试过的内容以及问题所在。 –

+0

为注销创建一个页面并将其重定向到另一页 – roullie

+1

慢下来并给出[如何操作](http://stackoverflow.com/help/how-to-ask)读取。除了在一个问题中存在多个问题之外,他们都非常广泛,您需要决定一个问题,然后详细说明并包含您自己尝试的内容。 – Epodax

回答

0

使用sessions

的login.php:

... 
$_SESSION["foo"] = $foo; 
... 

Logout.php:

​​

login.php您将设置一个名为fooSESSION变量(这样用户登录) 。当他注销时,您将destroy/unsetSESSION变量名为foo,因此在每个登录页面中,您可能需要执行if语句检查SESSION变量是否已设置(登录)else(未登录),那么您可以重定向用户到你想要的地方。

0

当用户单击后退按钮时,内容将从浏览器缓存中加载,而不是从服务器加载。这就是它发生的原因。

从我的理解,如果上一页处理来自同一页面的一些输入,浏览器会显示网页过期通知。 这是我在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> 

如果用户登录电子后出浏览器点击后退按钮显示网页过期消息。

0

我希望你有很好的愉快。

请检查此代码可能对您有帮助。

文件名:_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> 

使用此代码和检查。

问候,