2013-05-16 4 views
6

ich überprüfen möchten, ob Benutzernamen in der Datenbank vorhanden ist jQuery.validate mit so hier ist, was ich bisher:jQuery Validate Remote-Methode Verwendung zu überprüfen, ob Benutzername existiert bereits

jQuery:

$("#signupForm").validate({ 
     rules: { 
      username: { 
       required: true, 
       minlength: 3, 
       remote: "check-username.php" 
       } 
      }, 
     messages: { 
      username:{ 
       remote: "This username is already taken! Try another." 
      } 
     } 
    }); 

Check- username.php:

Dieser Code zeigt immer einen Fehler, dass der Benutzername genommen wird, auch wenn es nicht ist.

Ich bin mit jQuery Mobile 1.9.1

Vielen Dank im Voraus.

+2

Können Sie die Frage ein wenig mehr erklären? Welcher Teil scheint zu funktionieren und was nicht? – CP510

+0

Auf der Registrierungsseite wird nicht geprüft, ob der Benutzer genommen wurde. – MacLover

+0

Öffnen Sie die Registerkarte Netzwerk. Wird beim Abschicken eine Anfrage an die Seite "check-username.php" gesendet? Wenn ja, wie lautet der Antwortcode (200,404,500 usw.) und was ist der Inhalt der Antwort? – Matanya

Antwort

5

Ich habe es geschafft, auf das durch eine Änderung der PHP-Technik zu arbeiten war ich mit, hier ist mein PHP:

<?php 
require_once "./source/includes/data.php"; 
header('Content-type: application/json'); 
$request = $_REQUEST['username']; 

$query = mysql_query("SELECT * FROM mmh_user_info WHERE username ='$username'"); 
$result = mysql_num_rows($query); 
if ($result == 0){ 
$valid = 'true';} 
else{ 
$valid = 'false'; 
} 
echo $valid; 
?> 

Danke an alle hier für Ihre Hilfe :)

2

Ich habe zwei Ressourcen zu betrachten.

Amt Beispiel aus der Validate-Plugin: http://jquery.bassistance.de/validate/demo/milk/

jQuery Forum Lösung: http://forum.jquery.com/topic/jquery-validation-plugin-remote-validation-problem-locks-up

Die mögliche Lösung besteht darin, dass die Antwort muss nicht so weit codiert JSon werden, wie ich sagen kann. Da json Schlüsselwertpaare benötigt, funktioniert nur der Wert nicht. Versuchen Sie also, es als "wahre" oder "falsche" Strings zu wiederholen.

Zweitens verwendet die Validierung GET für die Formularübermittlungsmethode, nicht POST.

HINWEIS: JUST GEFUNDEN MÖGLICHE LÖSUNG FRAGE jQuery Remote validation

+0

Es tut mir leid, ich habe alles versucht, was Sie zur Verfügung gestellt, immer noch kein Glück :( – MacLover

+0

Ich benutze jQuery Mobile, wenn das etwas ändert .. – MacLover

+0

Nun, das tut ein bisschen tatsächlich. Leider bin ich nicht auf jQuery Mobile Anderenfalls sollten sie sich frei fühlen, uns zu korrigieren. – CP510

Verwandte Themen