2016-11-17 49 views
-6

我正在用php和mysql创建登录脚本。我的问题是,当我登录我的loginForm仍然可见...所以我认为这将是一个相反的“排除”包括,但我发现这是不可能的,我的问题是为什么?我想我可以用css通过显示none来删除loginForm。有没有更简单的方法来做到这一点? 感谢您的任何帮助,downvote如果这是一个愚蠢的问题,欢呼!Php为什么在php中没有排除功能?

下面是一些代码来澄清一些事情

<form action = "login.php" method = "post" class = "possi"> 
<input type = "email" placeholder = "Email" name = "email" class = "formControl2"><br> 
<input type = "password" placeholder = "Password" name = "password" class = "formControl2"><br> 
<input type = "submit" value = "login" id = "knapp2"></form> 

<?php 
include ("loginForm.php"); 
?> 


if($_SESSION['loggedIn']==true) 
{ 
include("newCarForm.php"); 
include ("logoutForm.php"); 
// exclude ("loginForm.php"); 
} 
+0

'if(somethig true){include}' –

+1

因为你不需要它。你只是不包括它。 –

+0

如果你真的真的想这样工作,如果你的'if'包含在'else'分支中。 – cili

回答

1

不能排除,因为包括以前也发生过。代码已经在执行,你想排除它。要解决这个问题

最好的办法是有条件包括:

if (!$loggedin) { 
    include "loginForm.php"; 
} 
+1

我想你忘了一个'!',因为目前你只有在你登录的时候才包括登录表单** –

+0

你是对的。我纠正了它 – jenald

+0

当然,它不工作,如果你只是复制和粘贴此代码。你必须适应你的需求。我不是你的编码助理,我只是想帮忙 – jenald

0

其实,你应该做这样的

1)有一个像http://localhost:5000/login一些LoginForm的途径提交进行处理。

2)在该文件中设置会话并重定向到另一条路线,该路线将向您显示newCartForm和logoutForm。

根据一个真实或错误的情况显示表单是不好的做法。