我的代码数据存储在网站上的本地存储中,但是当我浏览页面并注册新用户时,旧用户将被删除


var userInfo = [];
var myCostum;
//documentgetElementById("registerForm");
document.getElementById("registerForm").addEventListener("click", function () 
{
//var register = document.querySelector('#registerForm');
var name = document.querySelector('#fN').value;
var lastN = document.querySelector('#lN').value;
var userName = document.querySelector('#uN').value;    
var passwrd = document.querySelector('#pS').value; 

userInfo.push([name,lastN,userName,passwrd]);
localStorage.setItem("myCostum", JSON.stringify(userInfo));

});

我正在为 j 使用单独的文件,我的网站有一个导航栏,带有主页、注册、登录、关于我和购物车。 如果我注册多个用户,此代码工作正常,我可以在所有页面上看到本地存储中的用户,我甚至可以登录。 问题是当我再次注册并注册新用户时,我之前注册的用户被删除并替换由新用户。另外,如果我转到主页,我可能会出现错误(未捕获的类型错误:无法读取null的属性"addEventListener" 在偶数听众.js:9(。我只是不知道为什么注册页面似乎有效,但其余的不起作用。我在 html 中使用 onclick 还有另一个代码,但同样它不会在任何页面中给出任何错误,但是当我在浏览页面后注册新页面时,用户消失了。这是第一次使用本地存储,我不能做,或者如果它是正常的。我是堆栈,我需要继续添加更多代码,但我想先解决这个问题。

这里发生了很多事情,但让我从基础开始。

1st 切勿将本地存储用于用户名和密码等敏感信息。有很多网站复制本地存储并将其发送给恶意人员。

其次,理论上您可以使用仅限于选项卡的会话存储,但您仍然可能面临XSS的危险。

第三,当浏览器关闭时,您的所有数据都将从本地存储中丢失

至于你的代码。 您的用户信息不应作为空启动。 必须从本地存储中获取以前的值并推送到该值。否则,您只是覆盖以前的值。

var userInfo = JSON.parse(localStorage.getItem('myCustom'));

最新更新