2013-10-08 38 views
0

我有一個login.html文件與formusernamepassword現場和submit button它與mysql database形式檢查值。
我的PHP代碼是在叫login.php
PHP:網頁不重定向到登錄頁面

不同的文件的問題是,它工作正常,當我把正確的用戶名和密碼。但是,如果我把錯誤的輸入或保持空,那麼相反,如果重定向到login.html頁面,它將重定向到login.php頁面。

的login.php

<?php 

### Check if the Submit button is clicked 
     if (isset($_POST['btnSubmit'])) 
     { 
      # code... 
      //$uname=$_POST['uname']; 
      //$pswd=$_POST['pswd']; 

    #### Connection to mySQL #### 
    $conn=mysqli_connect("localhost","root","","vishal") or die("Unable to connect to MySQL"); 



      if (mysqli_connect_errno()) 
      { 
       echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
      } 

      $result = mysqli_query($conn,"SELECT * FROM login where username = '$_POST[uname]' AND password = '$_POST[pswd]'") or die(mysql_error()); 

      $row = mysqli_fetch_array($result) or die(mysql_error()); 

        $username=$row['username']; 
        $password=$row['password']; 


        if (!empty($username) AND !empty($password)) 
        { # code... 
         //$_SESSION['username'] =$password; 
         header('location:welcome.html'); 
        } 

        else //(empty($username) AND empty($password)) 
        { # code... 
         header('location:login.html'); 
         die(); 
        } 

} 

?> 


的login.html

<form action="login.php" name="login_form" method="post" enctype="multipart/form-data" target="_self"> 
    <fieldset style="width:300px; margin:auto; margin-top:100px; border:solid 2px #900; background-color:#CCC; border-radius: 50px">  
     <h1 style="color:#306;"> <center> Login Form </center></h1> <br> <br> 
     <div style="margin-left:30px;"> 

     <table> 
     <tr> 
      <td align="right"> <label for="uname"> <strong>Username :</strong> </label> </td> 
      <td>  <input type="text" title="Username" id="uname" name="uname" placeholder="Username" /> </td> 
      </tr> 
      <tr><td> </td><td> </td> </tr> 
      <tr> 
      <td align="right"> <label for="pswd"> <strong>Password :</strong> </label> </td> 
      <td>  <input type="password" title="Password" id="pswd" name="pswd" placeholder="Password" />  </td> 
      </tr> 
      <tr><td><br /> </td><td> <br /></td> </tr> 
      <tr> 
      <td></td> 
      <td>  <input type="submit" title="Submit" name="btnSubmit" id="btnSubmit" value="Submit" style="width:100px; height:26px; font-weight:bold;" /> </td> 
      </tr> 
      <tr><td><br /> </td><td> <br /></td> </tr>   
     </table> 
     </div> 
    </fieldset> 
</form> 
+0

檢查這個http://stackoverflow.com/questions/19240330/php-page-not-redirected-back-to-the-login-page/19240385#19240385做這樣的 –

回答

1

使用此代碼:

$result = mysqli_query($conn,"SELECT * FROM login where username = '$_POST[uname]' AND password = '$_POST[pswd]'") or die(mysql_error()); 
$row_count = mysql_num_rows($result); 
if($row_count==1) { 
    $row = mysqli_fetch_array($result) or die(mysql_error()); 
    $username=$row['username']; 
    $password=$row['password']; 
    header('location:welcome.html'); 
} else { 
    header('location:login.html'); 
    die(); 
} 
+0

謝謝,它確實有效。你能詳細說明一下我的代碼嗎? – vishalkin

+0

mysql_num_rows($ result)函數用於從數據庫提取計數記錄 –

1

你有login.php

<?php 

### Check if the Submit button is clicked 
if (isset($_POST['btnSubmit'])) 
{ 

    $conn=mysqli_connect("localhost","root","","vishal") or die("Unable to connect to MySQL"); 
    if (mysqli_connect_errno()){ 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

    if(!empty($_POST['uname']) && !empty($_POST['pswd'])) { 
     $result = mysqli_query($conn,"SELECT * FROM login where username = '$_POST[uname]' AND password = '$_POST[pswd]'") or die(mysql_error()); 
     $row_count = mysqli_num_rows($result); 
     if($row_count==1) { 
      $row = mysqli_fetch_array($result) or die(mysql_error()); 
      $username=$row['username']; 
      $password=$row['password']; 
      header('location:welcome.html'); 
     } else { 
      header('location:login.html'); 
      die(); 
     } 
    } else { 
     header('location:login.html'); 
     die(); 
    } 
} 

?>