2016-12-15 81 views
0

所以基本上我存儲在寄存器形式進入本地HTML存儲用戶輸入的信息......我已經檢查了細節但是存儲在本地存儲, ,當我嘗試在登錄表單中使用這些信息(用戶名和密碼)登錄....它不起作用。那麼我將如何能夠成功登錄登錄表單?換句話說,我將如何能夠獲得以註冊表格(存儲在本地存儲器)中輸入的用戶名和密碼的數據,並使用該數據與用戶在登錄表單中的輸入進行比較以驗證登錄過程?以下是文件:如何從本地存儲[JavaScript的]細節成功登錄

+0

究竟是什麼問題嗎? –

+0

好吧道歉......我所試圖做的是登錄基本,但是當我嘗試登錄,讓我的警告訊息,指出無效的用戶或通過,即使我使用已經存儲在本地存儲中的數據。例如:存儲的用戶是aaa,pass是aaa,如果我以登錄形式鍵入這些用戶名,它會說錯誤的用戶名或密碼。那麼我將如何能夠登錄?我很困惑 –

+0

清楚什麼是「storedUserName」,「storedPassWord」,validlogin內「用戶名」和「密碼」()值是多少? –

回答

3

你要比較它們的用戶而過,沒有用戶名和密碼:

var entry = localStorage.getItem("entry"); 
console.log("username: " + entry.user + "password: " + entry.pas); 
if(username.value == entry.user && password.value == entry.pass) { 
    alert('You have successfully logged in.'); 

} 

在瀏覽器PRES CTRL + SHIFT + I,如果它沒有打開時,選擇「控制檯」

+0

它仍然說無效的用戶名或密碼 –

+0

你輸入的形式相同的數據,你正在從條目閱讀?就像你的例子「vvv」和「vvv」一樣? –

+0

是啊,我已經嘗試AAA和AAA,但仍是同樣的問題 –

1

這些生產線將無法正常工作:

var storedUserName = localStorage.getItem('UserName'); 
var storedPassWord = localStorage.getItem('PassWord'); 
var storedEmailAddress = localStorage.getItem('EmailAddress'); 

savedata()每個字段不保存到自己的項目,它只是保存entry對象作爲一個整體。所以你需要檢索並解析它。

var entryJSON = localStorage.getItem('entry'); 
if (!entryJSON) { 
    alert("Nothing stored!"); 
    return; 
} 
var entry = JSON.parse(entryJSON); 
var storedUserName = entry.user; 
var storedPassWord = entry.pass; 
var storedEmailAddress = entry.email; 

要搜索allEntries,你需要使用一個循環:

function validlogin(event) { 
    var username = document.getElementById('username').value; 
    var password = document.getElementById('password').value; 

    var entriesJSON = localStorage.getItem('allEntries'); 
    if (!entriesJSON) { 
     alert("Nothing stored!"); 
     event.preventDefault(); 
     return; 
    } 
    var allEntries = JSON.parse(entriesJSON); 
    for (var i = 0; i < allEntries.length; i++) { 
     var entry = allEntries[i]; 
     var storedUserName = entry.user; 
     var storedPassWord = entry.pass; 
     var storedEmailAddress = entry.email; 
     if (username == storedUserName && password == storedPassWord) { 
      alert("Successfully logged in!"); 
      return; 
    } 
    alert('Invalid Username or Password! Please try again.'); 
    event.preventDefault(); 
    window.location="Login.html"; 
} 
+0

沒有看到整個應用程序,我無法弄清楚發生了什麼問題。你可以做一個jsfiddle嗎? – Barmar

+0

添加小提琴,看看它:) –

+0

當它提醒「沒有存儲」時,我需要添加'event.preventDefault()'。然後它適用於我:https://jsfiddle.net/barmar/s1fswLo5/3/。小提琴沒有創建用戶的任何代碼,所以所有登錄失敗。 – Barmar