Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di laskot
    Registrato dal
    Jun 2017
    residenza
    Milan
    Messaggi
    34

    Problema con registrazione utenti

    Buonasera a tutti,
    Sono alle prese con il mio primo sito ma sono decisamente bloccata sulla registrazione degli utenti.
    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;
    }
                }
    
            }
    
        }
    }
    Nel local storage vedo listautenti, ma all'interno c'è solo [object Object].
    Non so veramente cosa sbaglio, grazie per l'eventuale aiuto

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Ciao, forse è un banale errore ma nel codice conversti con stringify, ma alla fine salvi nello storage l'array non convertito quando usi .setItem()

  3. #3
    Utente di HTML.it L'avatar di laskot
    Registrato dal
    Jun 2017
    residenza
    Milan
    Messaggi
    34
    Quote Originariamente inviata da m4rko80 Visualizza il messaggio
    Ciao, forse è un banale errore ma nel codice conversti con stringify, ma alla fine salvi nello storage l'array non convertito quando usi .setItem()
    Grazie, in effetti hai ragione! Ho corretto quello e un altro paio di accorgimenti, ora funziona.
    Ti ringrazio, era un errore banale ma dopo aver riletto il codice per troppe volte avevo il cervello in "pappa". Grazie

  4. #4
    Secondo me c'è un GRAVISSIMO errore di fondo: stai salvando la lista utenti in javascript e dentro LocalStorage: significa che la lista utenti sarà DIVERSA per ciascun utente che usa il sito...

    Per capirci, LocalStorage è come i preferiti: ogni utente ha i suoi, e così se tu fai quello che stai facendo ogni utente potrà definirsi la sua lista utenti e darsi tutti i poteri nella tua applicazione...

    NON credo questo fosse quello che volevi...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  5. #5
    Utente di HTML.it L'avatar di laskot
    Registrato dal
    Jun 2017
    residenza
    Milan
    Messaggi
    34
    Quote Originariamente inviata da Shores Visualizza il messaggio
    Secondo me c'è un GRAVISSIMO errore di fondo: stai salvando la lista utenti in javascript e dentro LocalStorage: significa che la lista utenti sarà DIVERSA per ciascun utente che usa il sito...

    Per capirci, LocalStorage è come i preferiti: ogni utente ha i suoi, e così se tu fai quello che stai facendo ogni utente potrà definirsi la sua lista utenti e darsi tutti i poteri nella tua applicazione...

    NON credo questo fosse quello che volevi...
    Si in realtà non ci ho pensato ma credo sia giusto ciò che dici, il problema è che sto facendo un progetto per l'università e i miei strumenti sono HTML5, CSS3 e Javascript. Non devo usare un server. Credi che in questo caso vada bene? E in ogni caso la soluzione quale sarebbe? Server e PHP?

  6. #6
    Perdonami, ma non mi è chiaro che cosa tu stia cercando di realizzare... una app scritta in html5+css+js? Un sito web? Che altro?

    Diciamo che se il tutto deve girare come file html salvato sul pc dell'utente e non deve essere in rete in nessun modo, LocalStorage può anche andare bene, sempre considerando che la sicurezza di ciò che è salvato in localstorage è ZERO.

    Se invece si tratta di un sito web, allora LocalStorage è proprio sbagliato come sistema di autenticazione... al massimo può essere usato per salvare informazioni o impostazioni non riservate riguardanti il singolo utente, ma non certo come sistema di autenticazione, per il quale hai assolutamente bisogno almeno di apache e dei suoi .htaccess o, meglio, di php e un db.
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  7. #7
    Utente di HTML.it L'avatar di laskot
    Registrato dal
    Jun 2017
    residenza
    Milan
    Messaggi
    34
    Quote Originariamente inviata da Shores Visualizza il messaggio
    Perdonami, ma non mi è chiaro che cosa tu stia cercando di realizzare... una app scritta in html5+css+js? Un sito web? Che altro?

    Diciamo che se il tutto deve girare come file html salvato sul pc dell'utente e non deve essere in rete in nessun modo, LocalStorage può anche andare bene, sempre considerando che la sicurezza di ciò che è salvato in localstorage è ZERO.

    Se invece si tratta di un sito web, allora LocalStorage è proprio sbagliato come sistema di autenticazione... al massimo può essere usato per salvare informazioni o impostazioni non riservate riguardanti il singolo utente, ma non certo come sistema di autenticazione, per il quale hai assolutamente bisogno almeno di apache e dei suoi .htaccess o, meglio, di php e un db.
    Sisi è un sito web che deve girare unicamente sul mio pc, è un progetto per un esame universitario dopo questo ho un altro esame dedicato a db, PHP ma non mi servono in questo caso.
    In ogni caso, grazie per l'aiuto

  8. #8
    Utente di HTML.it L'avatar di laskot
    Registrato dal
    Jun 2017
    residenza
    Milan
    Messaggi
    34
    Quote Originariamente inviata da _Marco_87 Visualizza il messaggio
    L'università cade sempre più in basso...
    Ogni volta vedo gente che dice(anche qui da me parlandoci dal vivo): devo fare un sito con un carrello, devo fare una webapp con 2 contenitori e lo strumento cerca, e simili.
    Tutti esercizi/esami stupidi su cose banali che probabilmente un ragazzo di 19 anni che ha cazzeggiato con il pc su qualche sito dove c'è una documentazione seria e ha capito bene le basi può replicare in qualche ora, sfruttando semplicemente la console del browser per vedere gli ipotetici errori.
    Scusate sembra off-topic ma è la verità: per esempio al tuo professore che gli frega se prendi la lista di utenti in localstorage salvata sul browser dell'utente, la lista utenti non dovrebbe neanche esistere, semplicemente si fà una conta nel database utenti per vedere quanti record ci sono(la conta puoi anche non farla era un esempio, io la faccio quando voglio sapere se i record sono maggiori di uno, sennò mi và in errore quando cerco di valorizzare i dati) e estrai per ogni record il nome utente corrispondente tramite una query.
    Una cosa del genere non si fà neanche per vedere quanti utenti sono online: ti immagini facebook o google che fanno una cosa del genere su mlioni di account, memorizzando tutti gli utenti connessi sul tuo computer, io no e neanche loro, se qualcuno la proponesse perderebbe il posto di lavoro probabilmente, visto che non capisce un ...
    Detto questo il tuo metodo dovrebbe essere sbagliato perchè per simulare un database si usano i file .txt negli esercizi, infatti ci puoi salvare record con la stessa sintassi del database, e si usano per simulare un database vero e propio (i database possono essere anche esportati o imprortati sotto forma di testo, a patto che la sintassi sia giusta e che cio siano tutte le istruzioni relative).
    Se non puoi usare php per la lista degli utenti devi usare un file di testo .txt, non ci credo che sei obbligato a usare localStorage e non capisco a cosa serve usarlo in questo modo.
    Ovviamente non c'è l'ho con te è solo che non capisco a cosa serve questa cosa, anche a livello didattico, visto che quello che stai facendo poi non lo potrai mai più replicare, sopratutto per lavoro...
    Allora può essere che tu abbia ragione, probabilmente è così. Detto ciò questo è uno stralcio di richiesta del progetto, magari ho sbagliato a intendere io:
    Le operazioni base che devono essere presentate al momento della discussione del progetto sono le seguenti:
    – Visualizzazione di informazioni relative agli utenti registrati, alle prenotazioni, allo stato dei ristoranti.
    – Visualizzazione dei ristoranti e dei men`u disponibili.
    – Ricerca dei ristoranti (ad es., per nome, tipologia, zona geografica, numero di posti nella prenotazione, e/o mix delle precedenti). – Login al sito e prenotazione presso un ristorante a scelta.
    – Visualizzazione delle prenotazioni presenti e passate per un utente.

    Le informazioni visualizzate all’interno delle pagine del sito web devono essere memorizzate e accedute nel web storage del browser in formato XML o JSON. Devono essere perciò previste operazioni per la presentazione e modifica delle informazioni. Un esempio (parziale) di file JSON contenente alcuni ristoranti verrà fornito al momento dell’inizio del progetto.

    Allora cerco di capire, perchè in tutta onestà non è tutto chiarissimo.
    Mi stai dicendo che il local storage è tutto sommato uno strumento inutile che non mi ricapiterà di usare in futuro?
    E invece c'è un alternativa usando file .txt? "record con la stessa sintassi del database" ciò però prevede che io sappia già come formulare un'interrogazione al mio db? Perchè l'esame Applicazione web e cloud è precedente e si occupa di HTML, CSS, Javascript; un semestre più tardi arriva "Basi di dati" che si occupa di db, PHP, SQL, anch'esso con progetto. Magari hanno voluto distinguere le due cose, anche se quindi invertendo gli esami avrei probabilmente avuto basi più concrete per sviluppare il mio sito?
    Detto ciò, per riuscire ad usare il tuo metodo per simulare un database posso spulciare in internet? Ha un nome con il quale posso cercarlo e a questo punto fare qualcosa di maggiormente utile?

  9. #9
    _marco_87, secondo me la stai confondendo senza ragione alcuna.

    Il punto del LocalStorage è, appunto, che è Local. E' cioè un'area in cui la pagina web può salvare dati, essendo certa che, a meno di espliciti comandi dell'utente, i dati rimangano salvati tra una visita e l'altra al sito. I dati sono salvati nel browser dell'utente, solo lì, e sono accessibili solo al sito che li ha creati, e solo su quel browser in quella macchina.

    Quindi, qualsiasi cosa si salvi lì non potrà nè essere vista nè tanto meno utilizzata da nessuno che visiti il sito, tranne te.

    Questo significa che quando tu dovessi fare vedere il tuo lavoro al prof, dovresti farlo necessariamente dal tuo pc, perché funzionerebbe solo lì: su qualsiasi altro pc la lista utenti e qualsiasi altra info sarebbero assenti.

    Detto questo, LocalStorage è MOLTO meglio di qualsiasi file di testo, è molto più versatile e potente.

    A mio avviso se questa cosa che stai facendo dev'essere un puro esercizio, non c'è problema nell'usare localstorage, mentre non può funzionare se la dimostrazione che devi fare dev'essere funzionante anche da altri pc.

    Però, il punto della questione è che comunque sia, dovunque tu le salvi, devi imparare ad organizzare le informazioni dei vari oggetti che tratti (utenti, ristoranti, prenotazioni, menu, ecc) in un modo coerente, e devi imparare a usare html per creare maschere che ti permettano di modificare ed inserire queste informazioni, che con javascript poi salverai su LS.

    Io se fossi in te comincerei elencando per bene tutte le informazioni da memorizzare per ciascuna tipologia di oggetto che devi usare:

    Utenti: Nome, email, Password,....
    Ristoranti: Nome, telefono, posti,
    Menu: id ristorante, titolo, piatti, ...
    Prenotazione: id rist, dataora, persone, id utente,...

    Poi creerei le maschere per il salvataggio/modifica di ciascuna di questi oggetti.
    Poi creerei le liste per visualizzare gli elenchi di questi oggetti.

    Infine creerei le funzionalità finali, come per esempio la nuova prenotazione da parte dell'utente.
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  10. #10
    Utente di HTML.it L'avatar di laskot
    Registrato dal
    Jun 2017
    residenza
    Milan
    Messaggi
    34
    Quote Originariamente inviata da Shores Visualizza il messaggio
    _marco_87, secondo me la stai confondendo senza ragione alcuna.

    Il punto del LocalStorage è, appunto, che è Local. E' cioè un'area in cui la pagina web può salvare dati, essendo certa che, a meno di espliciti comandi dell'utente, i dati rimangano salvati tra una visita e l'altra al sito. I dati sono salvati nel browser dell'utente, solo lì, e sono accessibili solo al sito che li ha creati, e solo su quel browser in quella macchina.

    Quindi, qualsiasi cosa si salvi lì non potrà nè essere vista nè tanto meno utilizzata da nessuno che visiti il sito, tranne te.

    Questo significa che quando tu dovessi fare vedere il tuo lavoro al prof, dovresti farlo necessariamente dal tuo pc, perché funzionerebbe solo lì: su qualsiasi altro pc la lista utenti e qualsiasi altra info sarebbero assenti.

    Detto questo, LocalStorage è MOLTO meglio di qualsiasi file di testo, è molto più versatile e potente.

    A mio avviso se questa cosa che stai facendo dev'essere un puro esercizio, non c'è problema nell'usare localstorage, mentre non può funzionare se la dimostrazione che devi fare dev'essere funzionante anche da altri pc.

    Però, il punto della questione è che comunque sia, dovunque tu le salvi, devi imparare ad organizzare le informazioni dei vari oggetti che tratti (utenti, ristoranti, prenotazioni, menu, ecc) in un modo coerente, e devi imparare a usare html per creare maschere che ti permettano di modificare ed inserire queste informazioni, che con javascript poi salverai su LS.

    Io se fossi in te comincerei elencando per bene tutte le informazioni da memorizzare per ciascuna tipologia di oggetto che devi usare:

    Utenti: Nome, email, Password,....
    Ristoranti: Nome, telefono, posti,
    Menu: id ristorante, titolo, piatti, ...
    Prenotazione: id rist, dataora, persone, id utente,...

    Poi creerei le maschere per il salvataggio/modifica di ciascuna di questi oggetti.
    Poi creerei le liste per visualizzare gli elenchi di questi oggetti.

    Infine creerei le funzionalità finali, come per esempio la nuova prenotazione da parte dell'utente.
    Allora sì, è un esercizio che dovrò mostrare al professore sul mio pc.
    Allora io ho finito più o meno l'HTML e CSS del sito, (Ho già il form in cui l'utente si può registrare o dove può eseguire il login per esempio) ora devo far sì che un utente si possa registrare (e in realtà sono riuscita a capire cosa sbagliavo nel mio codice JS, quindi ora ho una lista di utenti fittizi registrati nel mio LS), sempre restando sul fatto che dovrei usare il LS - ora ho una domanda generale: nel momento in cui l'utente entra nel suo account, vorrei potergli offrire funzionalità aggiuntive ma non so proprio come fare a livello teorico. Nel senso come faccio a fare in modo che visualizzi al posto del form di login un altro form in cui può aggiungere altre informazioni personali? Oppure gli ultimi ristoranti prenotati dove prima visualizzava altro ? Devo fare un'altra pagina HTML, oppure posso modificare l'esistente in modo che cambia a seconda dell'utente che è loggato o meno?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.