ajaxphp+;MySQL注册表教程

ajaxphp+;MySQL注册表教程,php,jquery,ajax,json,Php,Jquery,Ajax,Json,到现在为止,我一直 HTML 登录 密码 重复密码 电子邮件 我的PHP 我在服务器端进行了一些验证。 ` include(“dop/config.php”)//包含数据库连接 $login=($_POST['login']); $password=($_POST['password']); $rpassword=($_POST['rpassword']); $email=($_POST['email']); $humancheck=$_POST['humancheck']; $honeyp

到现在为止,我一直 HTML


登录
密码
重复密码
电子邮件
我的PHP 我在服务器端进行了一些验证。 `

include(“dop/config.php”)//包含数据库连接
$login=($_POST['login']);
$password=($_POST['password']);
$rpassword=($_POST['rpassword']);
$email=($_POST['email']);
$humancheck=$_POST['humancheck'];
$honeypot=$_POST['honeypot'];
如果($honeypot=='http://'&&empty($humancheck)){
$error_message='';
$reg_exp=“/^[a-zA-Z0-9.\%+-]+@[a-zA-Z0-9-]+\[a-zA-Z.](2,4)$/”;
如果(!preg_match($reg_exp,$email)){
$error_message.=“需要有效的电子邮件”

”; } if(空($login)){ $error_message.=“输入登录名”

”; } if(空($password)){ $error_message.=“输入密码”

”; } if(空($rpassword)){ $error_message.=“再次输入密码”

”; } 如果($password!=$rpassword){ $error_message.=“密码匹配”

”; } } 否则{ $return['error']=true; $return['msg']=“您的提交有问题。请重试。”; echo json_编码($return); }
我的JS 通过验证

$('#send').click(function(e)
    {
        e.preventDefault();
        var valid = '';
        var required =' is required.';
        var login = $('#account_reg #login').val();
        var password = $('#account_reg #password').val();
        var rpassword = $('#account_reg #rpassword').val();
        var email = $('#account_reg #email').val();
        var honeypot = $('#account_reg #honeypot').val();
        var humancheck = $('#account_reg #humancheck').val();

        if(login = ''){
            valid ='<p> Your Name '+ required +'</p>';
        }
        if(password='' || company.length<=6){
            valid +='<p> Password '+ required +'</p>';
        }
        if(rpassword != password){
            valid +='<p> password must match </p>';
        }
        if(!email.match(/^([a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$)/i))
        {
            valid +='<p> Your Email' + required +'</p>';
        }


        if (honeypot != 'http://') {
            valid += '<p>Spambots are not allowed.</p>';    
        }

        if (humancheck != '') {
            valid += '<p>A human user' + required + '</p>'; 
        }
        if(valid !=''){
            $('#account_reg #response').removeClass().addClass("error")
                .html('<strong> Please Correct the errors Below </strong>' + valid).fadeIn('fast');
        }
        else{
            //$('form #response').removeClass().addClass('processing').html('Processing...').fadeIn('fast');
            var formData = $('#account_reg').serialize();
            $('#send').val("Please wait...");
            submitForm(formData);
        }
    });
function submitForm(formData) {

$.post('reg2.php',formData, function(data){
    //console.log(data);
    $('#send').val("Send");
    if (data === '1') {
        alert('ok!');
    } else {
        alert('wrong shit');
    }
});
};
$(“#发送”)。单击(函数(e)
{
e、 预防默认值();
var有效=“”;
var required='是必需的';
var login=$('#账户#注册#登录').val();
var password=$('#account#reg#password').val();
var rpassword=$('#account_reg#rpassword').val();
var email=$('#账户#注册#email').val();
var honeypot=$(“#account_reg#honeypot”).val();
var humancheck=$('#account_reg#humancheck').val();
如果(登录名=“”){
valid='您的姓名'+required+'

'; }
如果(password=“”| | company.length表单已提交,这就是为什么您要使用reg.php。从我看到的情况来看,您正在使用自定义函数提交数据,因此最快的修复方法是将提交输入更改为常规按钮。因此

<input type="submit" name="send" id="send" value="Send"/>

变成

<input type="button" name="send" id="send" value="Send"/>

我认为,如果在验证表单的函数中发现错误时返回false也会有所帮助


附带问题:我觉得奇怪的是,你选择了一个带有值(http://)的蜜罐字段。通常这些字段是空的。这样做有什么具体原因吗?

你需要将所有
JS
代码expect
函数submitForm(formData)
放在
$(document.ready)(function(){});

如果我没有错,则没有名为
company
的变量,因此将此变量更改为
password
I,即在验证的第二个
If条件下

$('#send').click(function(e)
    {
        e.preventDefault();
        var valid = '';
        var required =' is required.';
        var login = $('#account_reg #login').val();
        var password = $('#account_reg #password').val();
        var rpassword = $('#account_reg #rpassword').val();
        var email = $('#account_reg #email').val();
        var honeypot = $('#account_reg #honeypot').val();
        var humancheck = $('#account_reg #humancheck').val();

        if(login = ''){
            valid ='<p> Your Name '+ required +'</p>';
        }
        if(password='' || company.length<=6){
            valid +='<p> Password '+ required +'</p>';
        }
        if(rpassword != password){
            valid +='<p> password must match </p>';
        }
        if(!email.match(/^([a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$)/i))
        {
            valid +='<p> Your Email' + required +'</p>';
        }


        if (honeypot != 'http://') {
            valid += '<p>Spambots are not allowed.</p>';    
        }

        if (humancheck != '') {
            valid += '<p>A human user' + required + '</p>'; 
        }
        if(valid !=''){
            $('#account_reg #response').removeClass().addClass("error")
                .html('<strong> Please Correct the errors Below </strong>' + valid).fadeIn('fast');
        }
        else{
            //$('form #response').removeClass().addClass('processing').html('Processing...').fadeIn('fast');
            var formData = $('#account_reg').serialize();
            $('#send').val("Please wait...");
            submitForm(formData);
        }
    });
function submitForm(formData) {

$.post('reg2.php',formData, function(data){
    //console.log(data);
    $('#send').val("Send");
    if (data === '1') {
        alert('ok!');
    } else {
        alert('wrong shit');
    }
});
};

注意:如果代码中存在一些错误,那么不要逃避这些错误,而是尝试调试它。

当代码不工作时,JS代码有问题


也许你可以从这个例子中尝试使用JQuery注册表单

是的,很抱歉,在我的代码中,它已经在DOM中准备好了。我更改了公司。但是仍然单击会将我重定向到注册表。php@Froxz:记住一件事:如果你的问题没有解决,那么不要接受任何答案。你只会失去对你的问题的新的回答。然后,如果你的问题没有解决,那就来看看你的错误您的
单击
函数中存在一些错误,然后
表单
将提交,交叉检查您的
javascript
控制台是否存在任何错误。
<input type="button" name="send" id="send" value="Send"/>