验证并允许特定用户名登录HTML的用户名文本字段

时间:2014-05-20 10:38:34

标签: javascript jquery html ajax ajaxform

我想只允许两个选定的用户登录我的应用点击提交按钮。这两个用户名列在名为 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;
    }
}

2 个答案:

答案 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));
}

祝你好运!