登录失败后动态更改html

时间:2019-01-05 16:14:02

标签: javascript php jquery mysql ajax

我正在HTML页面login.html中构建登录表单。现在,提交表单后,数据将发送到名为login.php的php服务器端脚本。我的问题是,如果因为某些错误而说出数据库表中是否已经存在用户名,我希望用户停留在同一页面上并带有红色警告。或者,如果我想添加流行的两个密码不匹配的错误消息。我该如何实现。由于数据存储在mysql数据库中,因此我无法使用任何客户端脚本来访问它。但是在我的方法中,php脚本会将用户移至另一个页面。而且没有办法动态显示一些错误消息。我为此目的尝试制作单独的html页面,但是我认为这不是一个很好的解决方案。有人可以为此提供示例代码吗?预先感谢。

1 个答案:

答案 0 :(得分:0)

您可以在login.php中使用switch语句更改消息(login.php将显示错误消息),也可以将用户发送回login.html,并将错误代码附加到可以检索到的url(那就是我要做的。)

在login.php中使用Switch

您将在错误函数中输入预定义的错误代码,可以通过多种方式进行。

function display_error_message($e) {
    switch ($e) {
        case "error_1":
            echo "Error message 1";
            break;
        case "error_2":
            echo "Error message 2";
            break;
        //Will execute the default if the error code does not match
        default:
            echo "Error message 2";
    }
}

通话:

display_error_message("error_1");

将错误附加到login.html的URL(推荐)

这里我们再次使用一个函数。它将带错误将用户重定向到login.html,这可以与附加/?status=success一起用于成功登录。

请注意,如果在执行该功能之前,login.php上显示了任何内容,则不能使用header()函数。

function error_redirect($e) {
    header("Location: www.example.com/login.html?error=$e");
    exit();
}

通话:

error_redirect("nouser");