我想只允许两个选定的用户登录我的应用点击提交按钮。这两个用户名列在名为 user.txt 的文本文件中,因此,应读取username参数,如果在文本字段中输入的用户名与user.txt文件的条目匹配,则用户必须允许登录,否则应显示错误。
注意:这里的挑战我已经有一个验证( validateForm()),点击提交按钮时工作正常。它会检查以确保用户名和密码字段不为空。我需要这个新的特定用户名允许验证验证以及点击提交按钮。
有人可以向我建议示例代码如何使用Ajax或jQuery或简单的JavaScript处理此验证?
Username.txt文件
Username1 : Tom
Username2 : Harry
检查用户名和密码文本字段是否为空:
function validateForm() {
var x = document.forms["login"]["userid"].value;
if (x == null || x == "") {
alert("Username is empty");
return false;
}
var x = document.forms["login"]["pswrd"].value;
if (x == null || x == "") {
alert("Password is empty");
return false;
}
}
答案 0 :(得分:1)
您需要检查file.txt所在的服务器(顺便说一下:数据库通常用于此目的)。
在客户端(javascript)执行此操作的唯一方法是在数组中包含名称列表 - 但这没有意义 - 因为客户端可以看到数组。 所以你真的应该使用服务器端来实现这个目的。
答案 1 :(得分:0)
如果您需要正确(安全)身份验证,请查看教程like this one。
如果您只想检查用户名,请尝试以下jQuery代码:
$.ajax({
type: "POST",
url: "script_url",
dataType: "json",
data: {
user : $("#user").val(),
call : "checkUser"
},
beforeSend: function(){ },
success : function(response){
if(!response){
alert('User not allowed!');
}
},
complete: function(){ }
})
和PHP代码:
$lines = file('../location/Username.txt');
$arr_users = array();
foreach($lines as $line){
$arr = explode(':', $line);
$arr_users[] = trim($arr[1]);
}
function checkUser($request){
return in_array($request['user']);
}
if (!empty($_POST['call'])) {
die($_POST['call']($_POST));
}
祝你好运!