2016-10-18 17 views
0

Jqueryを介してフォームを検証した後、私はユーザー名とパスワードが有効かどうかを知りたい。そうであれば、別のページにリダイレクトする必要があります。それ以外の場合は、ユーザーに表示する方法を探したいと思います。この時点で、私は本当に混乱しています。ここでjQueryのコードです:PHPスクリプトからデータを取得する

$(document).ready(function(e) { 
    $('.error').hide(); 
    $('#staffLogin').submit(function(e) { 
     e.preventDefault(); 
     $('.error').hide(); 
     uName = $('#staff_username').val(); 
     pWord = $('#staff_password').val(); 
     if(uName == ''){ 
      $('#u_error').fadeIn(); 
      $('#staff_username').focus(); 
      return false; 
     } 
     if(pWord == ''){ 
      $('#p_error').fadeIn(); 
      $('#staff_password').focus(); 
      return false; 
     } 
     $.ajax({ 
      type : 'POST', url : 'staff_access.php', data : 'uName='+uName+'&pWord='+pWord, 
      success: function(html){ 
       if(html == 'true'){ 
        window.location = 'staff_page.php'; 
       } 
       else{ 
        $('#val_error').fadeIn(); 
       } 
      } 
     })   
    }); 
}); 

PHP:

<?php 
        include('admin/config.php'); 
        $username = $_POST['uName']; 
        $password = $_POST['pWord']; 
        $conn = mysqli_connect(DB_DSN,DB_USERNAME,DB_PASSWORD,dbname); 
        if ($conn) { 
         $qry = "SELECT lastname, firstname, FROM staff_user WHERE username='".$username."' AND pass='".$password.""; 
         $res = mysqli_query($qry); 
         $num_row = mysqli_num_rows($res); 
         $row=mysql_fetch_assoc($res); 
         if ($num_row == 1) { 
          session_start(); 
          $_SESSION['login'] = true; 
          $_SESSION['lastname'] = $row['lastname']; 
          $_SESSION['firstname'] = $row['firstname']; 
          $_SESSION['username'] = $row['username']; 
          echo "true"; 
         } 
         else{ 
          echo "false"; 
         } 
        } 
        else{ 
         $conn_err = "Could not connect.".mysql_error(); 
        }      

       mysqli_close($conn); 
     ?> 

FORM:

<form name="staff_login" method="post" action="" id="staffLogin"> 
      <fieldset> 
      <legend>Staff Login</legend> 
      <span class="fa fa-user fa-5x"></span> 
      <br><br> 
      <input type="text" name="staff_username" id="staff_username" placeholder="Username"> 
      <br><span class="error" id="u_error">Username Required</span><br> 
      <input type="password" name="staff_password" id="staff_password" placeholder="Password"> 
      <br><span class="error" id="p_error">Password Required</span><br> 
      <span class="error" id="val_error">Incorrect Username and Password combination</span> 
      <input type="submit" name="staff_login" value="Login"> 
      </fieldset> 
     </form> 
+0

'it'が__what__表示表示を? –

+3

あなたが直面している問題は何ですか? –

+0

ユーザーにエラーメッセージを表示 – jaypee

答えて

0

あなたのAjaxのデータが間違った形式で送信されます。 POSTデータはオブジェクトとして送信する必要があります。

$.ajax({ 
     type : 'POST', 
     url : 'staff_access.php', 
     data : { 
        uName: uName, 
        pWord: pWord 
       }, 
     dataType: 'text', 
     success: function(html){ 
      if(html == 'true'){ 
       window.location = 'staff_page.php'; 
      } 
      else{ 
       $('#val_error').fadeIn(); 
      } 
     } 
    }); 

「html」のようなテキストも使用しないでください。そのために不要なエラーが発生する可能性があります。以下のような 使用、より関連性の言葉 "成功:機能(応答)"

0

てみてください、あなたのAJAX configにdataTpe定義する - データ型: "HTML"

関連する問題