[Javascript] Registrazione e salvataggio utenti in LocalStorage

Laskot

Nuovo Utente
5 Giu 2017
15
0
1
25
Ciao a tutti,
sono alle prese con il mio primo sito, e sono giunta alla registrazione degli utenti.
Devo memorizzarne username, mail e password e inserirli nel mio local storage e così non avere utenti con lo stesso nome.

Codice:
function verificareg() {

    var username = document.getElementById('username').value;
    var psw1 = document.getElementById('pass1').value;
    var psw2 = document.getElementById('pass2').value;

    var pass1 = document.getElementById('pass1');
    var pass2 = document.getElementById('pass2');

    if (psw1 != psw2) {
        psw2.value = "";
        document.getElementById('pass2').focus();
        document.getElementById('errorpsw').style.display = 'block';
        pass2.style.border = 'red solid 1px';
        pass1.style.border = 'red solid 1px';
        return false ;
    }else{

        var utente = {nome:username, password:psw1};

        if (localStorage.getItem('listautenti') == null) { /* se la lista dei miei utenti ancora non esiste*/
            var listautenti =[];
            listautenti.push(utente); /*Posso rendere l'array una struttura LIFO, metto l'utente nel mio array*/
            var listautentiJ = JSON.stringify(listautenti);
            localStorage.setItem('listautenti', listautenti);
        } else{

            var listaJson = localStorage.getItem('listautenti');
            var listautenti = JSON.parse(localStorage.listaJson);

            for (i=0; i<listautenti.length; i++) {
                if (listautenti[i]['nome'] == username) {
                    document.getElementById('username').style.border = 'red 1px solid';
                    return false;
                }else{
                    listautenti.push(utente);
                    var listautentiJson = JSON.stringify(listautenti);
                    localStorage.setItem('listautenti', listautentiJson);
                    return true;
                }
            }

        }

    }
}
Ho iniziato così, con un controllo sulla password. Ora devo fare in modo di inizializzare un array che mi contenga tutti i miei utenti, così nel momento in cui un nuovo utenti si registra controllo se esiste un utente con lo stesso nome, blocco la registrazione se no aggiungo all'array.
Scusate probabilmente è banale, ma mi sto bloccando parecchio per farlo.
( Devo usare solo Javascript e il localstorage )
 
Ultima modifica:

marino51

Utente Attivo
28 Feb 2013
2.920
164
63
Lombardia
quindi,
1) lettura della lista utenti
2) cattura del nome utente e psw
3) check se utente esiste
4) se non esiste aggiunta nella lista (prosegue con azione appropriata)
5) se esiste prosegue con azione appropriata
at salut
 

linoma

Utente Attivo
1 Mar 2017
79
4
8
Ma la localstorage è sul browser dell'utente, al massimo trovi i suoi dati per il login non la lista degli utenti
 

marino51

Utente Attivo
28 Feb 2013
2.920
164
63
Lombardia
Ma la localstorage è sul browser dell'utente, al massimo trovi i suoi dati per il login non la lista degli utenti
si, ma essendo un esercizio, puoi sviluppare il sw in modo da simulare delle "registrazioni"
certo che se il browser ha impostazioni come il mio, che all'uscita pulisce "tutto il computer", non c'è storia nel fare prove ....
 

linoma

Utente Attivo
1 Mar 2017
79
4
8
Veramente dice che è al suo primo sito ed è giunto alla registrazione degli utenti o_O
 

Laskot

Nuovo Utente
5 Giu 2017
15
0
1
25
Salve a tutti,
scusate sono stata via e non ho potuto rispondere.
Vi ringrazio per le risposte, il fatto è questo: è un esercizio universitario, devo presentare il sito solo sul mio pc e quindi faccio login e registrazione sul locale storage, come mi è stato detto da consegna.
Il problema con la registrazione l'ho risolto, avevo sbagliato non nella teoria ma nello scrivere il codice, grazie a tutti per l'aiuto in ogni caso.
Ora se non mi volete male, perchè io e Javascript non andiamo proprio d'accordo, devo fare in modo che l'utente possa "loggarsi".
Ho scritto questo:
HTML:
 function loggarsi() {
        var nome = document.getElementById('typeloginemail').value;
        var password = document.getElementById('typeloginpass').value;

        var listaJ = localStorage.getItem('listau');
        var listautenti = JSON.parse(listaJ);
        var utente = {nome:nome, password:password};


        for (i = 0; i < listautenti.length; i++ ) {
            if ( listautenti[i]["nome"] == nome ) {

                var utentej = JSON.stringify(utente);
                sessionStorage.setItem('utenteloggato',utentej);
            }
        }





    }
Ma questo mi svuota il local storage e nel session storage non trovo nulla. Magari è giusto e succede qualcosa che non vedo oppure sbaglio qualcosa nel codice ma non so proprio cosa. Vi ringrazio preventivamente per l'aiuto.