質問

I'm very new at programming and I have some problem about jquery button.

I want to use jquery button(jqueryUI) but it doesn't work , my page show "Username and Password Incorrect!" but If I use normal button (without login.js) It's OK

so how can I fix this problem ? Thank you .

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";
        });
       });

Php code (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();
      ?>
役に立ちましたか?

解決

You need to prevent default submit action if something is wrong

$(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
        }
    });
})

他のヒント

You should use either post or get method in sending those data. You can try:

   $(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)
            }
         });
      }

    });
   });
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top