2011-08-13 154 views
0

我想驗證一個php註冊表單使用valid8 jquery插件。我需要檢查可用的用戶名或不使用PHP和MySQL。所以我檢查電子郵件可用性示例並嘗試執行代碼來檢查用戶名。問題即時通訊與PHP循環。幫助jQuery valid8

這裏是我現在所擁有的

valid8 jQuery的主頁http://unwrongest.com/projects/valid8/

註冊PHP的JavaScript

<script type="text/javascript"> 
      // <![CDATA[  
      $(document).ready(function(){    

       // Set focus to first input 
       $('#inputUsername').focus(); 

       // Custom validator (checks if password == confirm password) 
       function confirmPassword(args){ 
        if(args.password == args.check) 
         return {valid:true} 
        else 
         return {valid:false, message:'Passwords does not match'} 
       } 

       // Username is required 
       $('#inputPassword, #inputUsername').valid8(); 

       // Confirm password must match Password 
       $('#inputConfirmPassword').valid8({ 
        regularExpressions: [ 
         {expression: /^.+$/, errormessage: 'Required'} 
        ], 
        jsFunctions:[ 
         { 'function': confirmPassword, 'values': function(){ 
          return {password: $('#inputPassword').val(), check: $('#inputConfirmPassword').val()} 
         }} 
        ] 
       }); 

       $('#inputUsername').valid8({ 
        regularExpressions: [ 
         {expression: /^.+$/, errormessage: 'Required'} 
        ], 
        ajaxRequests: [ 
         { url: 'class/isUsernameUnique.php', loadingmessage: 'Checking availability...', errormessage:'Username is unavailable'} 
        ] 
       }); 

       $('#inputPolicy').valid8(); 

       $('#inputEmail').valid8({ 
        regularExpressions: [ 
         {expression: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(aero|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel.ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|.fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|.il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)\b$/, errormessage: 'You sure it is valid? The next step in this registration will be sent to the email you enter here.'} 
        ] 
       }); 

       // Check if all input fields are valid 
       $('#buttonSignup').click(function(){ 
        alert('Are input fields valid? ' + $('input').isValid()); 
      }); 




      }); 
      // ]]> 
     </script> 

isUsernameUnique.php代碼

<?php 
    include ("db.php"); 

    $username = $_POST['value']; 

if(!isUsernameUnique($username)){ 
$json["valid"] = false; 
$json["message"] = 'username is already in use'; 
} 
else { 
$json["valid"] = true; 
} 

function isUsernameUnique($username){ 
// Database look-up should go here here... 
// But for the sake of this demo a random return will do 
    $result = mysql_query("SELECT username FROM users WHERE username ='$username'") 
    if ($result > 0); 

return rand(0, 1); 
} 

print json_encode($json); 
    ?> 

我不能似乎得到了結果正確。有人可以告訴我如何解決這個問題。謝謝。

+0

你說的意思是「我似乎無法得到正確的結果」?你有什麼問題?這段代碼的哪部分失敗 - 你期望它做什麼,它做的是什麼? – sdleihssirhc

回答

1
function isUsernameUnique($username){ 
// Database look-up should go here here... 
// But for the sake of this demo a random return will do 
    $result = mysql_query("SELECT username FROM users WHERE username ='$username'"); 
    $num_rows = mysql_num_rows($result); 
    if ($num_rows > 0) // userName found 
     // return accordingly 

} 

$結果是對象或使用該如果條件

if ($result) // userName found