Хобрук: Ваш путь к мастерству в программировании

Как решить проблему со входом в локальное хранилище?

В основном у меня есть 2 файла... register.html и login.js.... Я могу хранить данные регистрации пользователя в локальном хранилище, а затем анализировать их как объекты в массиве.... Мне нужно правильно войти в систему (когда пользователь и пароль совпадают, окно предупреждения указывает на успешный вход в систему, а затем файл PHP перенаправляет пользователя, и если нет совпадения, окно предупреждения будет указывать для этого отдельно), а затем второе окно предупреждения, поскольку вы успешно вошли в систему, и тогда он не будет перенаправлять меня как файл PHP предназначен для этого, когда пользователь и проход соответствуют локальному хранилищу... Любые подсказки??


  • можете ли вы проверить эту ссылку stackoverflow.com/a/38328193/6572922 15.12.2016
  • Извините, я не на том уровне, где я могу различать различия и сравнивать со своим, чтобы различать мой код... мне просто нужна поддержка в изменении моего кода, чтобы он мог правильно войти в систему 15.12.2016

Ответы:


1

Вы просто неправильно перебираете учетные данные, вам нужно подождать, пока вы не убедитесь, что текущие учетные данные для входа не равны ни одному из сохраненных учетных данных, поэтому вам нужно получить эту часть кода из цикла for:

alert('Invalid Username or Password! Please try again.');
event.preventDefault();
window.location="Login.html"; 

попробуйте этот код для проверки входа:

function validlogin(event) {
    var username = document.getElementById('username').value;
    var password = document.getElementById('password').value;
var entriesJSON = localStorage.getItem('allEntries');
if (!entriesJSON) {
    event.preventDefault();
    alert("Nothing stored!");
    return;
}
var allEntries = JSON.parse(entriesJSON);
var isCorrectCredentials=false;
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) {
        isCorrectCredentials=true;
        alert("Successfully logged in!");
        return;
    } }
   if(!isCorrectCredentials){
        alert('Invalid Username or Password! Please try again.');
        event.preventDefault();
        window.location="Login.html";     
    }
}

таким образом вы войдете в систему, если текущее имя пользователя и пароль верны, и уведомите остальную часть кода, используя:

isCorrectCredentials=true;

что информация для входа была верной, и вы успешно вошли в систему. и часть кода, которая должна быть выполнена, если информация для входа не соответствует действительности, будет выполнена максимум 1 раз.

15.12.2016
  • Вау, это сработало, не могли бы вы вкратце объяснить, что вам нужно было сделать, чтобы это сработало, и, кстати... Шокран :) 15.12.2016
  • Я отредактирую ответ, чтобы объяснить, что было не так! , 3афван ;) 15.12.2016
  • Спасибо, хабиби, действительно очень ценю это 15.12.2016
  • Новые материалы

    Прогресс в технологии Трансформеров часть 3
    Многомасштабный управляющий сигнальный преобразователь для бесфазного синтеза движения (arXiv) Автор: Линтао Ван , Кун Ху , Лей Бай , Юй Дин , Ваньли Оуян , Чжиюн Ван . Аннотация:..

    Представляем поддержку компонентов Vue.js. Мгновенный HMR и многое другое.
    Хотя у FuseBox уже был плагин Vue, он был базовым и не имел многих функций, которые делали работу с Vue.js такой приятной. Однако с этим выпуском мы рады сообщить, что в FuseBox..

    Приключения в Javascript, часть 1
    Я продолжаю думать о том, чтобы писать больше, но чем больше я думаю об этом, тем меньше я это делаю. Итак, сегодня я перестал думать и начал писать. Отсюда можно только спускаться… В..

    Понимание дженериков в TypeScript: подробное руководство
    Введение TypeScript, строго типизированный надмножество JavaScript, хорошо известен своей способностью улучшать масштабируемость, удобочитаемость и ремонтопригодность приложений. Одной из..

    Учебные заметки JavaScript Object Oriented Labs
    Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

    Разбор строк запроса в vue.js
    Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

    Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
    «Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..