php - 使用ajax成功提交表单后重新加载页面

标签 php ajax asynchronous

我目前正在使用ajax制作登录表单

<div id='error3'></div>
<input type='email' required name='email' id='email' placeholder='Email'>
<input type='password' required name='password' id='password' placeholder='password'>
<input type='submit'  name='submit99' id='submit' value='login'>

我的java脚本是

<script>
$(document).ready(function(){
    $("#submit").click(function(){
        var emailnew = $("#email").val();
        var  password = $("#password").val();

        var dataString = '&email='+ email + '&password='+ password;
        if(emailnew==''|| password='')
        {
            document.getElementById('error3').innerHTML="Please Fill All Fields";
        }
        else
        {
            $.ajax({
                type: "POST",
                url: "process.php",
                data: dataString,
                cache: false,
                success: function(result){
                    document.getElementById('error3').innerHTML=result;
                }

            });
        }
        return false;
    });
});

我的 process.php 脚本是

<?php
if(isset($_POST['email']))
{
    if (filter_var($email99, FILTER_VALIDATE_EMAIL))
    {
        $con=mysqli_connect('localhost','root','password','database');
        $query="SELECT * FROM TABLENAME WHERE USER='' AND PASSWORD=''";
        $result=mysqli_query($con,$query);
        if(mysqli_num_rows($result)!=0)
        {
            echo "You are successfully logged in";
login user
start a cookie or session
    }
        else
        {
            echo "You are bot a valid user";
        }
    }
    else
        echo "not a valid email";
}
?>

现在,如果我们收到消息“您已成功登录”,则刷新当前页面,否则仅显示错误消息并且不刷新页面。

我可以选择添加

<meta http-equiv="refresh" content="30"> 

但这仅适用于 Chrome,不适用于 Firefox。

最佳答案

您可以将条件放在循环内 success: function(result){

<script>
    $(document).ready(function () {
        $("#submit").click(function () {
            var emailnew = $("#email").val();
            var password = $("#password").val();

            var dataString = '&email=' + email + '&password=' + password;
            if (emailnew == '' || password = '') {
                document.getElementById('error3').innerHTML = "Please Fill All Fields";
            } else {
                $.ajax({
                    type: "POST",
                    url: "process.php",
                    data: dataString,
                    cache: false,
                    success: function (result) {
                        if (result == "You are successfully logged in") {
                            document.location.href = 'login.htm';
                        } else {
                            document.getElementById('error3').innerHTML = result;
                        }
                    }

                });
            }
            return false;
        });
    });
</script>

关于php - 使用ajax成功提交表单后重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31201838/

相关文章:

java - 如何针对特定场景正确使用Apache Camel?

javascript - 为什么 jQueryeach() 函数中的全局变量会破坏我的翻转效果?

php - Laravel 中的简单 MySQL 选择查询问题

javascript - 隐藏 Ajax Div 并显示 Loader Div,直到返回数据

php - 变量值无法进入数据库

javascript - 为什么控制台不能定义id?

php - SilverStripe - 自定义分面搜索导航

javascript - jQuery 在函数执行时更改图像以显示进度

PHP-MYSQL脚本无法连接服务器上的数据库

javascript - ajax post请求中传递第二个参数