有关保存和检索用户凭据到数组的快速查询(我进一步打算将其保存到文本文件中,但这不是暂时的问题)。
我有一个简单的登录/寄存器表单,似乎没有整体缺陷,但是当试图通过逻辑地构建可以将注册用户的凭据保存到数组的函数时,我正在努力挣扎(允许多个用户的凭据),然后以及其他函数,可以通过数组读取登录时的匹配项。
我是JavaScript的新手,因为它的含义,我什至不确定从哪里开始这些功能,或者我如何构建/格式化数组,因此任何帮助都将受到极大的赞赏。
function createUser() {}
function getUser() {}
var users = [];
html for Forms
<div class="loginPage">
<div name="myForm" class="form">
<div id ="login">
<form class="login-form" name="myForm">
<h2>Login Page</h2>
<input name="username" type="text" placeholder="enter username"/>
<input name="password" type="password" placeholder="enter password"/>
<button type="button" onclick="validateLoginForm()">login</button>
<p class="message">Don't have an account? <a href="#register" id="register_profile">Register</a></p>
</form>
</div>
</div>
</div>
<!--
div for register back attributes, displaying form to register
-->
<div class="registerPage">
<div class="form">
<div id = "register">
<form class="register-form" name="otherForm">
<h2>Registration Page</h2>
<input name="username" type="text" placeholder="choose username"/>
<input name="password" type="password" placeholder="choose password"/>
<input name="confirmation" type="password" placeholder="re-enter password"/>
<input name="fname" type="text" placeholder="enter first name"/>
<input name="lname" type="text" placeholder="enter last name"/>
<input name="email" type="text" placeholder="enter email address"/>
<!--captcha implementation from googles re-captcha package-->
<div class="g-recaptcha" data-sitekey="6LcMZiwUAAAAAOXbpmQMVRoWUCKt2Tyf4RrhuSr_">
</div>
<button type="button" onclick="validateRegisterForm()">create</button>
<p class="message">Already have an account? <a href="#login" id="login_profile">Login</a></p>
</form>
</div>
</div>
</div>
假设您想这样做,这是JavaScript ES6方法:
function createUser( username, password )
{
const user = { username, password }; //create a user object to go in the array
users.push( user ); //put it on the end of the array
}
function getUser( username, password )
{
//loops through each user in the array and checks the stored username and password against the one you're looking for
return users.find( eachUser => {
return eachUser.username === username && eachUser.password === password;
});
}
var users = [];