有没有办法在用户登录时在我网站的所有页面上显示注销按钮,如果有人未登录,则不会出现?我假设某种 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>";
?>
//不要忘记阅读有关会话和 cookie 的更多信息。
这是一个例子,还有其他方法:
当用户登录时,创建一个$_SESSION['user']
变量。
当您想显示注销按钮时,请检查是否设置了会话变量isset($_SESSION['user'])
。
像这样:
if (isset($_SESSION['uid']))
{
if (!empty($_SESSION['uid']))
{
echo "<input type='button' value='Logout' onclick='logout_function();' />";
}
}
萨卢多斯 xD
像这样的东西应该可以解决问题。
if(!empty($_SESSION["user"]))
{
/*
* logout button
*/
}
else
{
/*
* login code
*/
}
您是否研究过会话管理? http://www.php.net/manual/en/book.session.php