Jestem bardzo nowy w programowaniu i mam pewien problem o przycisku jQuery.

Chcę użyć przycisku jQuery (jqueryui), ale nie działa, moja strona pokazują "Nazwa użytkownika i nieprawidłowa hasła!" Ale jeśli użyję normalnego przycisku (bez login.js) jest w porządku

Więc jak mogę rozwiązać ten problem? Dziękuję Ci .

HTML Form: -

<form id="Login_form" method="post" action="sql_login.php">
<table>
    <tbody>
    <tr> <td colspan="2"></td> </tr>
    <tr>
    <td> <span> USERNAME  : </span> </td>
    <td> <input  type="text" name="txt_username" id="txt_username" /> </td>
    </tr>
    <tr> <td colspan="2"></td> </tr>
    <tr>
    <td> <span> PASSWORD  : </span> </td>
    <td> <input  type="password" name="txt_password" id="txt_password"  /> </td>
    </tr>
    </tbody>
</table>
<input  type="submit"  value="Enter" class="Button"  ></input>
</form>

javascript (login.js)

  $(document).ready(function() {
       $('.Button').button().click(function(event){
         var usernameTxt = $('#txt_username').val();    
         var passwordTxt = $('#txt_password').val();
     if (usernameTxt =="" || passwordTxt =="") {
        alert("username or password required !");
        return false;
    }
     else window.location = "sql_login.php";
        });
       });

kod PHP (SQL_Login.php)

    <?ob_start();?>
    <?
session_start();
include("DB_Connect.php");
$sql = "SELECT * FROM user WHERE Username='".mysql_real_escape_string($_POST['txt_username'])."' 
and Password = '".mysql_real_escape_string($_POST['txt_password'])."'";
$query = mysql_query($sql);
$result = mysql_fetch_array($query);            
if(!$result)
{
  echo "Username and Password Incorrect!";
} else {        
      $_SESSION["UserType"] = $result["UserType"];
      session_write_close();
    if($result["UserType"] == '0')
    {
        header("Location: ../User/User_Schedule.php");              
    }
    else
    {
    header("Location: ../Admin/Admin_Schedule.php");
    }
}
mysql_close();
      ?>
0
user2322921 30 listopad 2013, 19:08

2 odpowiedzi

Najlepsza odpowiedź

Musisz zapobiec domyślnym przesłaniu akcji, jeśli coś jest nie tak

$(document).ready(function(){
    $('form[id=Login_form]').submit(function(event){
        var usernameTxt = $('#txt_username').val();    
        var passwordTxt = $('#txt_password').val();
        if (usernameTxt =="" || passwordTxt =="") {
            alert("username or password required !");
            event.preventDefault(); //prevent default submit action
        }
    });
})
1
przeqpiciel 30 listopad 2013, 15:17

Powinieneś użyć metody post lub get w wysyłaniu tych danych. Możesz spróbować:

   $(document).ready(function() {
   $('.Button').button().click(function(event){
     var usernameTxt = $('#txt_username').val();    
     var passwordTxt = $('#txt_password').val();
    if (usernameTxt =="" || passwordTxt =="") {
    alert("username or password required !");
       return false;
    }else{
         var dataString = "txt_username=" + usernameTxt + "&txt_password="passwordTxt;
         $.ajax({
           type: "POST",
           url: /sql_login.php,
           data:dataString,
           success:function(data){
                window.location(/User/User_Schedule.php)
            }
         });
      }

    });
   });
0
leonardeveloper 30 listopad 2013, 15:19