javascript和php中的重定向问题

javascript和php中的重定向问题,php,javascript,modal-dialog,Php,Javascript,Modal Dialog,我不熟悉php和javascript。我在第一个php文件中编写了一个模式对话框打开脚本,用于创建新用户帐户。在模式窗口中获得有效输入后,我通过post方法将信息发送到第二个php页面,以便在数据库中插入数据 现在问题来了。在第二个php页面中,有一种方法可以检查数据库中是否已经存在电子邮件地址,然后显示错误,或者将数据插入数据库并重定向到第三个php页面 但无法写入相同的逻辑。请指导我编写逻辑,如果在第2页中电子邮件检查方法返回true,则在成功插入数据重定向到第3页后显示错误,否则显示错误

我不熟悉php和javascript。我在第一个php文件中编写了一个模式对话框打开脚本,用于创建新用户帐户。在模式窗口中获得有效输入后,我通过post方法将信息发送到第二个php页面,以便在数据库中插入数据

现在问题来了。在第二个php页面中,有一种方法可以检查数据库中是否已经存在电子邮件地址,然后显示错误,或者将数据插入数据库并重定向到第三个php页面

但无法写入相同的逻辑。请指导我编写逻辑,如果在第2页中电子邮件检查方法返回true,则在成功插入数据重定向到第3页后显示错误,否则显示错误

请在下面找到代码片段

第二个php和第三个php位于同一文件夹中。head()部分不工作,需要在第二页验证中显示错误。 第一个php大部分代码是javascript和html表单。从那里我做了第二页的文章

        **1st php**

 <script>       
                $("#dialog-form").dialog({
                    autoOpen: false,
                    height: 300,
                    width: 350,
                    modal: true,
                    buttons: {
                        "Create an account": function() {
                            var bValid = true;
                            allFields.removeClass("ui-state-error");
                            bValid = bValid && checkLength(email, "email", 6, 80);
                            bValid = bValid && checkLength(password, "password", 5, 16);
                            bValid = bValid && checkLength(confirmpassword, "confirmpassword", 3, 16);
                            bValid = bValid && checkRegexp(email, .....);
                            bValid = bValid && checkRegexp(password, /^([0-9a-zA-Z])+$/, "Password field only allow : a-z 0-9");
                            bValid = bValid && IsEqual(password, confirmpassword, "password & confirmpassword are not equal");
                            if (bValid) {
                                $.ajax({
                                    type: "POST",
                                    url: "./create_account.php?act=create",
                                    data: "&email=" + email.val() + "&password=" + password.val() + "&confirmpassword=" + confirmpassword.val(),
                                    success: function(data) {

                                    }
                                });
                                $(this).dialog("close");
                            }
                        },
                        Cancel: function() {
                            $(this).dialog("close");
                        }
                    },
                    close: function() {
                        allFields.val("").removeClass("ui-state-error");
                    }
                });
                $("#create-user")
                        .button()
                        .click(function() {
                    $("#dialog-form").dialog("open");
                });
            });
        </script>
        <div id="dialog-form" title="Create new user">
            <p class="validateTips">All form fields are required.</p>
            <form>
                <fieldset>
                    <label for="email">Email</label>
                    <input type="text" name="email" id="email" value="" class="text ui-widget-content ui-corner-all" />
                    <label for="password">Password</label>
                    <input type="password" name="password" id="password" value="" class="text ui-widget-content ui-corner-all" />
                    <label for="confirmpassword">confirm password</label>
                    <input type="password" name="confirmpassword" id="confirmpassword" class="text ui-widget-content ui-corner-all" />
                </fieldset>
            </form>
        </div>


    **2nd php**

    <?php

    $action = $_GET['act'];

    if(!empty($_POST['email'])&&($_POST['password'])&&($_POST['confirmpassword'])) {


        $email_address = tep_db_prepare_input($HTTP_POST_VARS['email']);
        $password = tep_db_prepare_input($HTTP_POST_VARS['password']);
        $confirmpassword = tep_db_prepare_input($HTTP_POST_VARS['confirmpassword']);

        $error = false;

      {
            $db = new mysql("root", "", "modal_db", "localhost");
            $email_query_status ="select count(*) as total from " . CUSTOMERS . " where customers_email_address = $email_address ;
            $check_email = mysql($email_query_status );
            if ($check_email['total'] > 0) {
                $error = true;
            }
        }
        if ($error == false) {
            $db->query("INSERT INTO user_info SET customers_email_address ='$email_address', password='$pword'");
            header('Location: 3rd.php');


        }
    }
    ?>




        Thanks in advance, 

        Debasis
**1st php**
$(“#对话框窗体”).dialog({
自动打开:错误,
身高:300,
宽度:350,
莫代尔:是的,
按钮:{
“创建帐户”:函数(){
var bValid=真;
removeClass(“ui状态错误”);
bValid=bValid&&checkLength(电子邮件,“电子邮件”,6,80);
bValid=bValid&&checkLength(密码,“密码”,5,16);
bValid=bValid&&checkLength(confirmpassword,“confirmpassword”,3,16);
bValid=bValid&&checkRegexp(电子邮件,…);
bValid=bValid&&checkRegexp(密码,/^([0-9a-zA-Z])+$/,“密码字段仅允许:a-Z 0-9”);
bValid=bValid&&IsEqual(密码、确认密码,“密码和确认密码不相等”);
if(bValid){
$.ajax({
类型:“POST”,
url:“./create_account.php?act=create”,
数据:“&email=“+email.val()+”&password=“+password.val()+”&confirmpassword=“+confirmpassword.val()”,
成功:功能(数据){
}
});
$(此).dialog(“关闭”);
}
},
取消:函数(){
$(此).dialog(“关闭”);
}
},
关闭:函数(){
allFields.val(“”.removeClass(“ui状态错误”);
}
});
$(“#创建用户”)
.按钮()
。单击(函数(){
$(“#对话框窗体”)。对话框(“打开”);
});
});

所有表单字段都是必需的

电子邮件 密码 确认密码 **第二php** “检查数据库中是否已经存在电子邮件地址,然后显示错误,否则将数据插入数据库并重定向到第三个php页面。”

  • “从电子邮件=:email的表格中选择*”
  • 如果结果为真,则电子邮件已存在,您可以创建错误消息
  • 如果结果为false,则插入
  • 然后您可以使用

    标题(“Location:index.php”)


使用PHP重定向。

“如果您需要任何其他信息,请告诉我。”Stackoverflow根本不适合这样的问题,您应该编写与您的问题对应的代码,并询问我们为什么它不起作用。谷歌可能可以为你解决90%的问题,如果你不理解代码需要更多帮助,那么你可以问我们。但是,很容易看出数据库中是否存在某些内容,只需从数据库中选择*即可,如果结果为false,则该内容不存在,否则会存在。请阅读以下内容:您实际的意思是“从[table]中选择*,其中email=?”我使用了标题(“Location:index.php”);“但它不起作用意味着重定向。模式对话框正在关闭,它一直停留在第一页上。我知道我的意思,@NickMitchinson,谢谢你的评论,我只是说我不知道他的表名是什么,所以他可以自己找出其余的:)我想他应该在他的问题(代码)上下功夫在得到完整的工作解决方案之前。Deba,你和index.php在同一个文件夹吗?在你发布一些代码之前,我无法告诉你出了什么问题。我的观点是你遗漏了WHERE子句,这是一个非常重要的部分。谢谢你们。我已经更新了我项目中的一些代码。请在我的帖子中找到它。