Quero fazer o botão de login desaparecer depois que você fizer login na sua conta, mas não consigo fazer isso direito. Tentei com localStorage e sessionStorage, mas nenhum dos dois funcionou. O que estou fazendo errado?
Conecte-se:
var objPeople = [{
username: "#",
password: "#"
},
{
username: "#",
password: "#"
},
{
username: "test",
password: "123"
}
]
function getInfo() {
var username = document.getElementById("username").value
var password = document.getElementById("password").value
for (var i = 0; i < objPeople.length; i++) {
if (username == objPeople[i].username && password == objPeople[i].password) {
console.log(username + "is logged in.")
window.location.href = "homepage.html"
localStorage.setItem("signedIn", 1);
}
}
console.log("Username/password is incorrect.")
}
Página inicial:
const signedInTrue = localStorage.setItem("signedIn")
if (signedInTrue= 1) {
document.getElementById("topNav").style.display = "block"
}
Primeiro de tudo, há alguns erros na página inicial...
1.
Storage#getItem()
, nãoStorage#setItem()
Você quer obter os dados, não é? Acho que há apenas um erro simples.
2.
Assigning to constant value
erroNeste código, você está tentando definir o valor constante e também é como um pequeno erro
Como deve ser a aparência da página inicial?
No entanto, faltam informações como:
Se sim, como?
Sem essas informações, não podemos ajudar. A única coisa é a ideia de como fazer isso: depois de verificar se o usuário está logado, defina a exibição do botão como
none
(ou a visibilidade comohidden
/collapse
).Além disso, se você perguntar qual armazenamento usar, a resposta depende da finalidade: se quiser manter o estado de login apenas quando o usuário estiver na página, use
sessionStorage
. Se quiser mantê-lo por mais tempo, uselocalStorage
.