Witam. W programie który tworzę w ramach nauki stworzyłem formularz rejestracji i logowania. Dane którę wpiszę podczas rejestracji (login i hasło) dodawane są do localStorage. Program działa tak:
1. Po kliknięciu w button "Rejestracja" program sprawdza czy login i hasło co namniej 6 liter.
2. Jeśli login i hasło mają co najmniej 6 liter zostaje wywołana funkcja store()
3. Funkcja store() dodaje wartości loginu i hasła do localStorage (użyłem JSON.stringify oraz JSON.parse). Chciałem aby localStorage przychowywało więcej niż jeden login i hasło dlatego tworzona jest tablica obiektów.
4. Kiedy już konto zostało utworzone i chcę się zalogować za pomocą podanego wcześniej loginu i hasła klikam button "Zaloguj", zostaje wywołana funkcja check() podczas której starałem się zrobić tak aby w pętli for sprawdzało długość tablicy - tablica w localStorage wygląda tak: [{"login":"dominik123","password":"dominik123"},{"login":"321321321","password":"32132321"},{"login":"321dominik","password":"321dominik"}] , następnie chciałem aby szukało po kolei dla [0] czy jest taki login jak dominik123 i hasło dominik123, dla [1] login: 321... itd. Niestety coś tu nie działa bo jak sprawdzałem alertem jaka jest dlugość tej tablicy to dla jednego wprowadzonego do localStorage loginu i hasła wyskakiwało ponad 40 length :/
Niestety nie mogę znaleźć rozwiązania dlatego mam nadzieję, że ktoś będzie w stanie mi pomóc :)
Wklejam tutaj kod tych dwóch funkcji
function store() {
var existingEntries = JSON.parse(localStorage.getItem("allEntries"));
if(existingEntries == null) existingEntries = [];
var name = registerName.value;
var pass = pw.value;
var entry = {
login: name,
password: pass
};
localStorage.setItem("entry", JSON.stringify(entry));
existingEntries.push(entry);
localStorage.setItem("allEntries", JSON.stringify(existingEntries));
};
function check() {
var storedLogin = localStorage.getItem("allEntries");
var userName = document.getElementById("login").value;
var userPw = document.getElementById("password").value;
alert(storedLogin.length);
for (i=0; i < storedLogin.length; i++) {
if (userName == storedLogin[i].login && userPw == storedLogin[i].password) {
alert("Poprawnie zalogowano")
}
else{
alert ("Wpisany login lub hasło jest nieprawidłowe");
}
}
};