2013-10-08 6 views
0

У меня есть login.html файл с полем form, имеющий username и password и 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(); 
    } 
} 

?> 
Смежные вопросы