2016-11-17 100 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。

根據一個真實或錯誤的情況顯示錶單是不好的做法。