我正在做一个关于创建网站的学校项目。我已经设法在注册帐户时将用户数据保存到本地存储中。当我昨天尝试使用以下代码时,这些代码可以工作:在我以用户身份登录后,密钥"currentUser"将出现在本地存储中。然而,在我清除了本地存储(阵列中的用户太多(并再次运行代码后,currentUser将不再显示在本地存储中。以下是我的代码:从编辑配置文件页面:`
<script>
var currentUser=null;
document.addEventListener("DOMContentLoaded",loadUserData);
function loadUserData() {
currentUser = localStorage.getItem("currentUser");
if(currentUser!=null) {
currentUser = JSON.parse(currentUser);
}
}
</script>
上面的代码加上登录html中的代码,显示currentUser为本地存储中的密钥(只应在以当前用户身份登录时显示(来自登录页面:
function checkUser(ev) {
ev.preventDefault();
var status=false;
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
for(var i=0;i<userList.length;i++) {
var u=userList[i];
console.log(u.username);
console.log(u.password);
if (u.username==username && u.password==password){
status=true;
currentUser=userList[i];
break;
}
}
if (status==true){
location.href="EditProfile.html";
}
}
我问过我的朋友,她说我提到用户名和密码的方式不正确,我需要重写大部分代码?
登录用户时需要存储在localStorage中。当用户注销时,您应该清除localStorage CurrentUser Key
类似这样的东西:
function checkUser(ev) {
ev.preventDefault();
var status=false;
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
for(var i=0;i<userList.length;i++) {
var u=userList[i];
console.log(u.username);
console.log(u.password);
if (u.username==username && u.password==password){
status=true;
localStorage.setItem('CurrentUser', username);
currentUser=userList[i];
break;
}
}
if (status==true){
location.href="EditProfile.html";
}
}
当用户注销时,使用此选项可以从本地存储中删除密钥。
localStorage.removeItem(密钥(
您使用的是HTML5的本地存储,它不能存储超过5mb的数据。无论何时使用将用户名和密码存储在本地存储和会话存储中,都是编程的坏习惯。你允许人们进入你的网站。尝试使用服务器端使用的任何编程语言的会话。你会自己破坏会话,然后显然你不会再获得价值。因此,使用服务器端是一个良好的编程习惯。
只需执行此
function checkUser(ev) {
ev.preventDefault();
var status=false;
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
for(var i=0;i<userList.length;i++) {
var u=userList[i];
console.log(u.username);
console.log(u.password);
if (u.username==username && u.password==password){
status=true;
localStorage.setItem("currentUser",u);//store whole data of logged user
currentUser=userList[i];
break;
}
}
if (status==true){
location.href="EditProfile.html";
}
}