【发布时间】:2017-09-20 21:24:15
【问题描述】:
首先谢谢你。 我正在用 PHP 编写一个注册页面并使用 Jquery Validate 来检查表单。当表单填写不正确时,它会返回错误,但是当它正确填写时,它只是刷新并且没有完成我在 isset $_POST 函数中委托的操作。这是我正在处理的:
PHP 如果表单不为空
//Escape high risk symbols
$pw= mysqli_real_escape_string($con, $_POST['pass']);
$username= mysqli_real_escape_string($con, $_POST['pass']);
$email = mysqli_real_escape_string($con, $_POST['email']);
$sex = mysqli_real_escape_string($con, $_POST['sex']);
$signedUp = date("Y-m-d H:i:s");
$hash = password_hash($pw, PASSWORD_DEFAULT);
echo 'Email: '.$email;
echo 'Username: '.$username;
echo 'Sex: '.$sex;
echo 'Signed Up: '.$signedUp;
}
?>
这是表格
<form method="post" class="form-signin" id="signup" name="signup">
...
</form>
这是我的验证 javascript,它似乎没有发布
<script src="js/formValidate.js"></script>
<script>
// When the document is ready
$(document).ready(function () {
//validation rules
$("#signup").validate({
onkeyup: false,
onfocusout: false,
errorElement: "div",
errorPlacement: function(error, element) {
error.appendTo("div#errors");
},
rules: {
email: {
required : true,
email: true
//equalTo: "#example3-field2"
},
username: {
required: true,
minlength: 5
},
pass: {
required : true,
minlength: 5
},
cPass: {
required : true,
equalTo : "#pass"
},
sex: {
required : true
},
},
messages: {
email: {
required: "You must enter an email address",
email: "Enter a valid email address"
//equalTo: "Field 1 must be equal to Field 2"
},
username: {
required: "You must choose a username",
minlength: "Username must be a minimum of 5 characters"
},
pass: {
required : "You are required to enter a password!",
minlength : "Password must be at least 5 characters!"
},
cPass : {
required : "You are required confirm your password!",
equalTo : "Passwords do not match"
},
sex : {
required : "You are required to choose a sex"
},
},
submitHandler: function(form) {
form.submit();
}
});
});
</script>
【问题讨论】:
-
那里有很多,您可以尝试缩小范围以找出问题所在吗?您看到了什么错误?
-
没有任何错误显示。表单验证功能正在工作。在提交不正确的信息时,它会显示错误消息,但是当所有内容都正确填写时,它只是在刷新而不是回显字符串。
-
你的表单确实应该有一个 action 属性来告诉它提交到哪里,否则行为取决于浏览器并且什么都不做。
-
不,它在同一个php页面中。不需要外部参考。我想通了,我正在使用 isset,我所要做的就是将其更改为如果 post 不为空。谢谢大家的帮助
-
我从标题中删除了 SOLVED:。接受答案将其标记为已解决。 @粗俗