Note that there are some explanatory texts on larger screens.

plurals
  1. POProblem with form validation
    primarykey
    data
    text
    <p>Im using jquery valid8 plugin to validate a register form. problem is i cant get the unique user name check to work.</p> <p>Register.php code</p> <pre><code>&lt;?php include ("db.php"); ?&gt; &lt;script src='js/jquery-1.4.2.min.js' type='text/javascript'&gt;&lt;/script&gt; &lt;script src="js/jquery.valid8.js" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt; &lt;?php $username = mysql_real_escape_string($_POST['username']); $email = mysql_real_escape_string($_POST['email']); $password = mysql_real_escape_string($_POST['password']); $act=isset($_GET['act'])?$_GET['act']:""; if($act=='sub'){ $result = mysql_query ("INSERT INTO users (username, email, password) VALUES ('".$username."','".$email."','".$password."')") or die (mysql_error()); echo "Data Updated"; } ?&gt; &lt;form class="form_user" method="post" action="register.php?act=sub"&gt; &lt;section&gt; &lt;label for="user"&gt; Username &lt;/label&gt; &lt;div&gt; &lt;input type="text" tabindex="1" class="input" id="inputUsername" name="username" onblur="check(this)" value="" /&gt; &lt;/div&gt; &lt;/section&gt; &lt;!--#--&gt; &lt;section&gt; &lt;label for="user_mail"&gt; Email &lt;/label&gt; &lt;div&gt; &lt;input type="text" tabindex="2" class="input" id="inputEmail" name="email" value="" /&gt; &lt;/div&gt; &lt;/section&gt; &lt;!--#--&gt; &lt;section&gt; &lt;label for="pass"&gt; Password &lt;/label&gt; &lt;div&gt; &lt;input type="password" tabindex="3" class="input" id="inputPassword" name="password" value="" /&gt; &lt;/div&gt; &lt;/section&gt; &lt;!--#--&gt; &lt;section&gt; &lt;label for="pass"&gt; Re-type Password &lt;/label&gt; &lt;div&gt; &lt;input type="password" tabindex="4" class="input" id="inputConfirmPassword" name="password" value="" /&gt; &lt;/div&gt; &lt;/section&gt; &lt;!--#--&gt; &lt;br /&gt; &lt;input type="submit" tabindex="5" id="buttonSignup" value="Regisiter" /&gt; &lt;/form&gt; &lt;/div&gt; &lt;/div&gt; &lt;/section&gt; &lt;script type="text/javascript"&gt; // &lt;![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'} ] }); $('#inputPolicy').valid8(); $('#inputEmail').valid8({ regularExpressions: [ {expression: /^[a-z0-9!#$%&amp;'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&amp;'*+/=?^_`{|}~-]+)*@(?:[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()); }); }); // ]]&gt; &lt;/script&gt; &lt;span id="msgbox" &gt;&lt;/span&gt; </code></pre> <p>isUsernameUnique.php Code</p> <pre><code>&lt;?php include ("../db.php"); $username = $_GET['username']; if(!isUsernameUnique($username)){ $json["valid"] = false; $json["message"] = 'username is already in use'; } else { $json["valid"] = true; } function isUsernameUnique($username){ $query = mysql_query("SELECT * FROM users WHERE username ='$username'"); $result = mysql_num_rows($query); if ($result &gt; 0) { $vl = '0'; } if ($result &lt; 1){ $vl = '1';} return ($vl); } print json_encode($json); ?&gt; </code></pre> <p>results always comes out "TRUE" (username avalable). where did i do wrong</p> <p>Link to valid8: <a href="http://unwrongest.com/projects/valid8/" rel="nofollow">http://unwrongest.com/projects/valid8/</a> </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload