2014-06-29 140 views
0

我已經創建並使用引導登錄頁面。我有一個PHP代碼,用於檢查和驗證用戶名和密碼。我想使用引導警報在登錄輸入字段頂部顯示不正確的用戶名和密碼消息。通過我目前所做的工作,只要運行php頁面,警報消息就會顯示出來。只有在登錄按鈕被點擊之後,我才需要在登錄輸入字段頂部顯示警報消息。 下面是代碼:如何在php中顯示Bootstrap警報?

<body> 
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main"> 
<?php 
require 'include/global.php'; 
require_once 'util/util.php'; 

if (isset($_POST['submit'])){ 
    $username=$_POST['username']; 
    $password=md5($_POST['password']); 
} 

$query="select * from user where username ='$username' and password='$password'"; 

$result=mysql_query($query); 

$count=mysql_num_rows($result); 
$row=mysql_fetch_assoc($result); 

if ($count==1 && isStatus($row)==1){ 
// store session data 
$_SESSION['loggedin']=$_POST['username']; 

header("Location:welcome.php"); 
}else { 
echo"<div id='myAlert' class='alert alert-danger'> 
     <a href='#' class='close' data-dismiss='alert'>&times;</a> 
     <strong>Warning!</strong>&nbsp;Username or Password Incorrect!&nbsp;&nbsp;<a href='index.php'>GO TO HOME</a><br> 
    </div>"; 

require 'include/footer.php'; 
} 
function isStatus($row) 
    { 
     if (!empty($row)) 
     { 
      foreach($row as $key=>$value) 
      { 
       if ($key=="status" && $value==1) { 
        return 1; 
       } 
      } 
     } 
     return 0; 
    } 
?> 
</div> 
+0

問題是您的'else'語句在第一次加載時被調用?如果是這樣,這是因爲你可能需要檢查一個表單是否已經提交,例如'elseif($ _ SERVER ['REQUEST_METHOD'] ==='POST'){' – Scuzzy

+0

你的代碼很容易被SQL注入!在實施Bootstrap警報之前,我會解決這個問題! :-) – HaukurHaf

回答

0

你必須檢查是否提交表單。您可以使用if (!empty($_POST))來檢查表單是否已提交。希望能幫助到你。