是否有办法使注销按钮出现在我的网站的所有页面上,当用户登录,而不是那里,如果有人没有登录?我假设某种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
*/
}