我正在HTML页面login.html中构建登录表单。现在,提交表单后,数据将发送到名为login.php的php服务器端脚本。我的问题是,如果因为某些错误而说出数据库表中是否已经存在用户名,我希望用户停留在同一页面上并带有红色警告。或者,如果我想添加流行的两个密码不匹配的错误消息。我该如何实现。由于数据存储在mysql数据库中,因此我无法使用任何客户端脚本来访问它。但是在我的方法中,php脚本会将用户移至另一个页面。而且没有办法动态显示一些错误消息。我为此目的尝试制作单独的html页面,但是我认为这不是一个很好的解决方案。有人可以为此提供示例代码吗?预先感谢。
答案 0 :(得分:0)
您可以在login.php中使用switch语句更改消息(login.php将显示错误消息),也可以将用户发送回login.html,并将错误代码附加到可以检索到的url(那就是我要做的。)
您将在错误函数中输入预定义的错误代码,可以通过多种方式进行。
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,这可以与附加/?status=success
一起用于成功登录。
请注意,如果在执行该功能之前,login.php上显示了任何内容,则不能使用header()函数。
function error_redirect($e) {
header("Location: www.example.com/login.html?error=$e");
exit();
}
通话:
error_redirect("nouser");