2016-07-29 12 views
1

Ich habe Tabelle Benutzer:überprüfen Benutzernamen mit Ajax jquery php mysql

  • id: int,
  • Benutzername: varchar (255),
  • Passwort: varchar (255),

Ich würde prüfen, ob die Anmeldung in der Datenbank oder nicht existiert

Ich versuche mit diesem Code jquery und html:

<div class="form-group"> 
    <label class="control-label col-md-3 col-sm-3 col-xs-12" for="first-name">username <span class="required">*</span></label> 
    <div class="col-md-6 col-sm-6 col-xs-12"> 
     <input type="text" class="form-control col-md-7 col-xs-12" name="username " id="username "> 
      <span id="availablity"></span> 
    </div> 
</div> 
<script type="text/javascript"> 

    $('document').ready(function(){ 
      $('#username').blur(function(){ 
       var username = $(this).val(); 
       $.ajax ({ 
        url = "check.php", 
        method = "POST", 
        data = {username :username }, 
        dataType : "text", 
        success:function(html) 
        { 
         $('#availablity').html(html); 
        } 
       }); 
      }); 
    }); 
</script> 

Seite check.php:

if(isset($_POST['username'])){ 
       $username = $_POST["username"]; 
       $sql = $db->query("SELECT * FROM users WHERE username = '$username'"); 
       if($sql->rowCount() > 0){ 
        echo '<span class="text-danger">Not Exist</span>'; 
       }else{ 
        echo '<span class="text-success">Exist</span>'; 
       } 

} 

Aber keine Ergebnisse

+1

was das Ergebnis Ihrer console.log (html)? – YVS1102

+1

[Bobby Tische] (https://xkcd.com/327/)! – Jeff

+0

Aus Sicherheitsgründen: Sie sollten Ihren Benutzernamen wirklich entgehen lassen. Derzeit ist Ihre Anwendung anfällig für SQL-Injektionen. –

Antwort

1

Bitte versuchen Sie folgenden Code.

JavaScript-Code

$('document').ready(function(){ 
      $('#username').change(function(){ 
       var username = $(this).val(); 
       $.ajax ({ 
        url : "check.php", 
        method : "POST", 
        data : {username :username }, 
        dataType: "text", 
        success:function(html) 
        { 
         $('#availablity').html(html); 
        } 
       }); 
      }); 
    }); 

Und Sie haben id erwähnt = "username" (mit Leerzeichen), bitte, dass wie unten wie ändern.

<input type="text" class="form-control col-md-7 col-xs-12" name="username" id="username"> 
+0

= D netter Trick ... –

+0

@Mohit Tanwani, danke Es funktioniert gut – johansson

+0

@ johansson, Sie akzeptiert meine Antwort und dann entfernte es. –

1

Sie verwendet haben = in Ihrer Ajax-Konfiguration. Das ist ein Syntaxfehler. Verwenden Sie

$.ajax({ 
    url: "check.php", 
    method: "POST", 
    data: {username: username}, 
    dataType: "text", 
    success: function (html) { 
     $('#availablity').html(html); 
    } 
}); 

statt.

+0

Dank, es funktioniert – johansson

0

sieht JQuery Syntaxfehler ...

<script type="text/javascript"> 

    $('document').ready(function(){ 
      $('#username').blur(function(){ 
       var username = $(this).val(); 
       $.ajax ({ 
        url : "check.php", 
        method : "POST", 
        data : {username :username }, 
        dataType : "text", 
        success:function(html) 
        { 
         console.log(html); 
         $('#availablity').html(html); 

        }, 
        error: function(html) 
        { 
         console.log(html); 
        } 
       }); 
      }); 
    }); 
</script> 

Konsole Nachricht überprüfen.

0

Dies sollte Ihr Code sein:

$('document').ready(function(){ 
      $('#username').blur(function(){ 

       var username = $(this).val(); 
       $.ajax ({ 
        url :"check.php", 
        method: "POST", 
        data : {username :username }, 
        dataType : "text", 
        success:function(html) 
        { 
         $('#check').html(html); 
        } 
       }); 
      }); 
    });