2013-03-16 40 views
0

我在index.php上有一個登錄表單。如果沒有登錄,請輸入登錄形式PHP

我想要的是,在此頁面上,如果您已經登錄,則不應出現html表單。如果你已經登錄,你應該在index.php上看到你的用戶名和註銷按鈕。

如果你沒有登錄,這種形式應該出現:

<form action="<?php $PHP_SELF; ?>" method="post" > 
      <h1>Login Form</h1> 
      <div> 
       <input type="text" placeholder="Username)" required="" id="username" /> 
      </div> 
      <div> 
       <input type="password" placeholder="Password" required="" id="password" /> 
      </div> 
      <div> 
       <input type="submit" value="Log in" /> 
       <a href="#">Lost your password?</a> 
       <a href="#">Register</a> 
      </div> 
     </form> 

有人誰可以幫我嗎?

回答

0

您可以在登錄時將某些值存儲在會話變量中。

然後在頁面上方可以查看它。

如果可用,表示用戶已經登錄,並且不需要顯示登錄表單。

如果沒有,則顯示登錄表單。

0

使用Session,這和在會議

<?php 
    session_start(); 
    if(!isset($_SESSION['username'])) 
    { 
?> 

<form action="<?php $PHP_SELF; ?>" method="post" > 
    <h1>Login Form</h1> 
    <div> 
     <input type="text" placeholder="Username" required="" id="username" /> 
    </div> 
    <div> 
     <input type="password" placeholder="Password" required="" id="password" /> 
    </div> 
    <div> 
     <input type="submit" value="Log in" /> 
     <a href="#">Lost your password?</a> 
     <a href="#">Register</a> 
    </div> 
</form> 

<?php 
    } 
    else 
    { 
     Welcome, echo $_SESSION['username']; 
    } 
?> 
0

簡單的解決方案存儲Username。在會話中保留用戶名並在頁面頂部檢查會話是否已設置。如果是,那麼他們已經登錄,你想做什麼,你可以。如果沒有的話顯示登錄頁面,並在每一頁的開始檢查會話 就像在登錄頁面的登錄表單...

0

使用會話做到這一點的頂部

session_start(); 

,並選擇[從數據庫中的字段將它們存儲在會話像

$_SESSION['username']; 

然後,在每一頁上檢查會話像

if(!array_key_exists('username',$_SESSION)){ 
header("location:index.php"); 
} 
+0

你爲什麼使用'header'?他已經在'index.php'頁面 – 2013-03-16 08:28:22

+0

頭部用於其他頁面 前兩部分用於索引頁面,第三部分用於任何其他頁面來驗證會話 – Shahbaz 2013-03-16 08:31:04