当有人登录时显示一个注销按钮


Make a logout button show up when someone is logged in?

是否有办法使注销按钮出现在我的网站的所有页面上,当用户登录,而不是那里,如果有人没有登录?我假设某种php可以做到这一点,但我不确定。我有点新的这一切,所以如果你能给一个详细的解释,这将是非常感激!

提前感谢!

  • 创建$_SESSION['user']并在用户登录时填写。

  • 创建一个php页面,你将包含在所有的页面中,在这个页面中检查会话变量$_SESSION['user']是否设置,并根据这个条件显示链接

     if(isset($_SESSION["user"])){ /*your logout button*/ } else { /*your login button*/ } 
    

您可以通过启动新会话并设置会话变量来实现。

在登录文件中这样做

<?php 
session_start();
if ($_SERVER['REQUEST_METHOD'] == 'POST' ) {
$username = trim(htmlentities(mysql_real_escape_string($_POST['username'])));
$password = trim(htmlentities(mysql_real_escape_string($_POST['password'])));
if (!empty($username) && !empty($password)) {
    $_SESSION['username'] = $username;
    echo "<br/> welcome ", $username;
    echo "<br/><a href='logout.php'>Logout</a>";
     } else {
    echo "Please enter correct username or password";
     }   
} else {
echo "Go to login page</br>";
echo "<a href='login.php'>Login</a>";
}

和每个页面检查会话变量

<?php 
session_start();
if(isset($_SESSION['username'])){
    echo "you logged in as </br>", $_SESSION['username'];
    echo "<br/><a href='logout.php'>logout</a>";
}else{
//your page stuff
}

和注销,销毁会话

<?php 
session_start();
if (isset($_SESSION['username'])) {
   session_destroy();
   echo "<br> you are logged out successufuly!";
} 
   echo "<br/><a href='login.php'>login</a>";
 ?>

//别忘了阅读更多关于session和cookies的信息

您研究过会话管理吗?http://www.php.net/manual/en/book.session.php

这是一个例子,还有其他方法:

用户登录时,创建$_SESSION['user']变量

当您想显示注销按钮时,请使用isset($_SESSION['user'])检查会话变量是否设置。

像这样:

if (isset($_SESSION['uid']))
{
      if (!empty($_SESSION['uid']))
      {
        echo "<input type='button' value='Logout' onclick='logout_function();' />";
      }
}

Saludos xD

像这样的东西应该可以达到目的。

if(!empty($_SESSION["user"]))
{
/*
* logout button
*/
}
else
{
/*
* login code
*/
}