我正在建立一个登录系统!
为了存储数据,我将带有对象的数组放入数据库中。
当我检查数据库中是否存在用户名和密码时,一切正常,但是如果我再次进行检查(例如,是否填写了用户名和密码),则它将无法正常工作。
当我将此检查添加到任意项时,然后键入现有的用户名和密码,然后收到“错误的用户名或密码”消息。

<input type="text" id='username'>
<input type="password" id='password'>
<input type="submit" id="submitlogin" value="Login" onclick="login()">


var database = [
        {
            username: "amr",
            password: "123",
        },
        {
            username: "asmr",
            password: "321",
        },
        {
            username: "amrik",
            password: "1234",
        }
]
function login (){
var user = document.getElementById('username').value;
var pass = document.getElementById('password').value;
for(var i = 0; i < database.length; i++)
{     if(user === "" && pass === "")
      {
         alert("enter username and password");
         return;
      }
      if(user === database[i].username && pass === database[i].password) {
        window.location.href = "index.html";
      }
}
    alert("error username or password");
    return;
}

最佳答案

也许使用变量来检查登录状态?

function login (){
var user = document.getElementById('username').value;
var pass = document.getElementById('password').value;
var loggedIn = 0;

for(var i = 0; i < database.length; i++)
{     if(user === "" && pass === "")
      {
         alert("enter username and password");
         return;
      }
      if(user === database[i].username && pass === database[i].password) {
        loggedIn = 1;
        window.location.href = "index.html";
      }
}

if(loggedIn == 0)
{
    alert("error username or password");
}

    return;
}


https://jsfiddle.net/40wonL6y/

09-07 07:56
查看更多