gpt4 book ai didi

php - 表单验证问题

转载 作者:行者123 更新时间:2023-11-29 00:53:55 25 4
gpt4 key购买 nike

我正在使用 jquery valid8 插件来验证注册表单。问题是我无法让唯一用户名检查工作。

Register.php代码

<?php include ("db.php"); ?>
<script src='js/jquery-1.4.2.min.js' type='text/javascript'></script>
<script src="js/jquery.valid8.js" type="text/javascript" charset="utf-8"></script>


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

<form class="form_user" method="post" action="register.php?act=sub">
<section>
<label for="user">
Username
</label>

<div>
<input type="text" tabindex="1" class="input" id="inputUsername" name="username" onblur="check(this)" value="" />
</div>
</section>
<!--#-->
<section>
<label for="user_mail">
Email
</label>

<div>
<input type="text" tabindex="2" class="input" id="inputEmail" name="email" value="" />
</div>
</section>
<!--#-->
<section>
<label for="pass">
Password
</label>

<div>
<input type="password" tabindex="3" class="input" id="inputPassword" name="password" value="" />
</div>
</section>
<!--#-->
<section>
<label for="pass">
Re-type Password
</label>

<div>
<input type="password" tabindex="4" class="input" id="inputConfirmPassword" name="password" value="" />
</div>
</section>
<!--#-->
<br />
<input type="submit" tabindex="5" id="buttonSignup" value="Regisiter" />
</form>
</div>
</div>
</section>

<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'}
]
});

$('#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>

<span id="msgbox" ></span>

isUsernameUnique.php代码

<?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 > 0) {
$vl = '0';
}
if ($result < 1){
$vl = '1';}

return ($vl);

}

print json_encode($json);
?>

结果总是“真”(用户名可用)。我哪里做错了

valid8 链接:http://unwrongest.com/projects/valid8/

最佳答案

试试这个

function isUsernameUnique($username){

$query = mysql_query("SELECT * FROM users WHERE username ='$username'");
$result = mysql_num_rows($query);
if ($result == 0)
{
$vl = 0;
}
else
{
$vl = 1;
}
return $vl;
}

让我知道这是否有所作为。

关于php - 表单验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7050952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com