Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环dosn'的javascript;t循环通过创建的用户_Javascript_Arrays_For Loop - Fatal编程技术网

循环dosn'的javascript;t循环通过创建的用户

循环dosn'的javascript;t循环通过创建的用户,javascript,arrays,for-loop,Javascript,Arrays,For Loop,好的,我正在使用javascript和localstorage注册和登录一个论坛。“学校作业”我的问题是,当我创建多个用户并将它们存储在localstorage中时,我的for循环不会遍历所有用户,只遍历第一个用户。因此,我只能使用我创建的第一个用户访问论坛 function login () { if (checklogin()) { boxAlert.style.display = "block"; boxAlert.innerHTML = "Wel

好的,我正在使用javascript和localstorage注册和登录一个论坛。“学校作业”我的问题是,当我创建多个用户并将它们存储在localstorage中时,我的for循环不会遍历所有用户,只遍历第一个用户。因此,我只能使用我创建的第一个用户访问论坛

function login ()  {
    if (checklogin()) {
        boxAlert.style.display = "block";
        boxAlert.innerHTML = "Welcome" + "";
        wallPanel.style.display = "block";
    } else {
        boxAlertfail.style.display = "block";
        boxAlertfail.innerHTML = "Go away, fail";
    }
}

function checklogin (){
    for  (var i = 0; i < aUsers.length; i++){
        if (aUsers[i].email == inputLoginMail.value && aUsers[i].password == inputLoginPassword.value){
            return true;
        }else{
            return false;
        }
    }
}
函数登录(){
if(checklogin()){
boxAlert.style.display=“block”;
boxAlert.innerHTML=“欢迎”+”;
wallPanel.style.display=“块”;
}否则{
boxAlertfail.style.display=“block”;
boxAlertfail.innerHTML=“走开,失败”;
}
}
函数checklogin(){
对于(变量i=0;i
哎哟!第一次尝试时返回false。最好的方法是设置一个变量,然后检查它

function checklogin() {
        var z = 0;
        for (var i = 0; i < aUsers.length; i++) {
            if (aUsers[i].email == inputLoginMail.value && aUsers[i].password == inputLoginPassword.value) {
                z = 1;
                break;
            } else {
                z = 0;
            }

            if (z == 1) {
                // User logged in
            } else {
                // Fake user
            }
        }
函数checklogin(){
var z=0;
对于(变量i=0;i
那么:

function checklogin() {
    var validLogin = false;
    for (var i = 0; i < aUsers.length; i++) {
        if (aUsers[i].email == inputLoginMail.value 
            && aUsers[i].password == inputLoginPassword.value) {
            validLogin = true;
            break;
        }
    }
    return validLogin;
}
函数checklogin(){
var validLogin=false;
对于(变量i=0;i
控制台中放置一个
日志(aUsers)
然后在
checklogin
中循环它们,在第一个用户失败后返回
false
,因此
for
循环和函数stop右侧的aUsers为空。var aUsers=[];当我尝试登录时,不会从本地存储中检索任何内容