2017-05-10 161 views
0

链接到我的网站http://www.rshandel.nl/login.php出现登录PHP后注销按钮

Github上https://github.com/buryo/hadseflads 文件布局/ header.php文件&的lib/Gebruiker.php &的login.php

问题: 如果我登录,我希望“注销”立即出现。现在只有当我刷新(F5)时才会出现。登录后有什么办法让它立即出现?

<?php if ($gebruiker->checkLogout()) { ?> 
    <li><a href="logout.php">Loguit</a></li> 
<?php } ?> 

功能checkLogout()

function checkLogout(){ 
     if (isset($_SESSION['login'])) { 
     return true; 
     }else { 
     return false; 
     } 
    } 

回答

0

使您的代码结构,如:

--------------- 
Logic for login 
--------------- 

------------ 
Menu Section 
------------ 

通过这种结构,当用户登录成功SESSION被设置在顶部,以便您可以在菜单部分检查它们,并以此名义显示注销按钮。在当前情况下,逻辑部分放在菜单部分之后,这就是为什么您必须提出另一个请求来检查它。

+0

我做了什么ü说,帮我。我必须用SESSION来思考逻辑方式。谢谢 –

+0

听起来不错! –

+0

这是一个大学项目吗? –

0

你可以简单地使用这个

导航本身

<?php if($_SESSION['login']) 

echo <a href="logout.php">Loguit</a></li>'; 
else{ 
echo '<li><a href="login.php">Login/Registreren</a></li>'; 
} 
?> 

确保您重定向,并把在session_start之初

+0

这与我使用的是一样的东西,我试过你的,但它没有改变任何东西。但是,谢谢你的尝试 –

+0

oww我忘了?你的会话是否包含布尔或字符串,如果它的布尔值可以工作。加上你的登录功能,你应该使用标题('Location:http/your_link')功能 – rbcastro17

+0

我刚刚将我的start_session()移动到checkLogin后,这对我有用。不管怎么说,多谢拉 –