Login And Sign Up Using Angular js with help of local storage
1.index.html
<html ng-app='LogIn'>
<head>
<meta charset="utf-8">
<meta http-equiv=="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>LOG IN</title>
<!-- styling css -->
<link href="assets/css/bootstrap.min.css" rel="stylesheet" />
<link href="assets/css/style.css" rel="stylesheet">
<link href="assets/css/font-awesome.min.css" rel="stylesheet">
<!-- min scripts -->
<script src="assets/js/angular.min.js"></script>
<script src="assets/js/angular-route.min.js"></script>
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
<!-- angular components -->
<script src="App.js"></script>
<script src="LogInCtrl.js"></script>
<script src="accountCtrl.js"></script>
<script src="homeCtrl.js"></script>
</head>
<!-- end of head -->
<body>
<div class="header">
<h3>EMPLOYEE LOG IN PAGE</h3>
</div>
<div class="container">
<div class="ngview">
<ng-view></ng-view>
<!-- end of ng-view -->
</div>
<!-- end of view div-->
</div>
<!-- end of container -->
<div class="footer">
©
</p>
</div>
<!-- end of footer -->
</body>
<!-- end of body -->
</html>
<!-- end of html -->
2.App.js
/**
* @Filename : app.js
*
*/
var app = angular.module('LogIn', ['ngRoute']);
app.config(['$routeProvider', function($routeProvider, $locationProvider) {
//$locationProvider.html5Mode(true);
$routeProvider.when('/', {
templateUrl: 'templates/LogIn.html',
controller: 'LogInCtrl'
}).when('/account', {
templateUrl: 'templates/account.html',
controller: 'accountCtrl'
}).when('/home', {
resolve: {
"check": function($location, $rootScope) {
if (!$rootScope.login) {
$location.path('/');
}
}
},
templateUrl: 'templates/home.html',
controller: 'homeCtrl'
}).otherwise({
redirectTo: '/'
});
}
3.login.html
<div class="wrapper">
<form class="form-signin" name="loginform">
<h2 class="form-signin-heading">Please login</h2>
<input type="text" class="form-control" name="username" ng-model="username" placeholder="User Name" required autofocus="" id="txtuname" />
<a ng-model="user=username"></a>
<input type="password" id="txtpwd" class="form-control" name="password" placeholder="Password" required/>
<label class="checkbox">
<input type="checkbox" value="remember-me" id="rememberMe" name="rememberMe" /> Remember me
</label>
<button class="btn btn-lg btn-primary btn-block" type="submit" ng-click="homefn()">LOG IN</button>
<a href="#/account" class="btn btn-lg btn-primary btn-block" style="cursor:pointer" role="button">CREATE ACCOUNT</a>
</form>
</div>
4.login control
app.controller("LogInCtrl", function($scope, $location, $window, $rootScope) {
$scope.homefn = function() {
var x = document.forms["loginform"]["txtuname"].value;
var y = document.forms["loginform"]["txtpwd"].value;
if (x == null || x == "" && y == null || y == "") {
alert - danger("must be filled out");
return false;
}
var temp = [];
var xx;
var z;
var temp2 = [];
var name = document.getElementById("txtuname").value;
var upwd = document.getElementById("txtpwd").value;
temp = JSON.parse(localStorage.getItem("uname"));
temp2 = JSON.parse(localStorage.getItem("userpassword"));
for (var i = 0; i <= temp.length && temp2.length; i++) {
xx = temp[i];
z = temp[i];
if (name == xx && upwd == z) {
$rootScope.login = true;
$location.path("/home");
}
}
localStorage.setItem('member', name);
alert(name);
};
});
5.Home.html
<div>
<div class="logout" style="float:right" >
<button class="btn btn-lg btn-primary " type="submit" ng-click="outfn()">LOG OUT</button>
</div>
<span>welcome</span> {{member}}..!<a>
</div>
6.Register.html
<div class="container" style="margin-top:130px">
<form name="Registerform" role="form">
<h2>Registration Form</h2>
<div class="form-group">
<label for="firstName" class="col-sm-3 control-label">Full Name</label>
<div class="col-sm-9">
<input type="text" id="firstName" name="firstName" placeholder="Full Name" class="form-control" autofocus ng-pattern="/^[a-zA-Z0-9]*$/" ng-model="firstName" required>
<span class="help-block">Last Name, First Name, eg.: Smith, Harry</span>
<!--error message -->
<div style="color:red" ng-show="Registerform.firstName.$error.pattern">
Not a Spcl character
</div>
</div>
</div>
<div class="form-group">
<label for="firstName" class="col-sm-3 control-label">User Name</label>
<div class="col-sm-9">
<input type="text" id="username" name="username" placeholder="User Name" class="form-control" autofocus ng-pattern="/^[a-zA-Z0-9]*$/" ng-model="username" required>
<!--error message -->
<div style="color:red" ng-show="Registerform.username.$error.pattern">
Not a Spcl character
</div>
</div>
</div>
<div class="form-group">
<label for="email" class="col-sm-3 control-label">Email</label>
<div class="col-sm-9">
<input type="email" id="email" ng-model="email" placeholder="Email" class="form-control" required>
<!--error message -->
<div class="alert alert-warning fade in" style="color:red" ng-show="Registerform.$error.email">
Enter Valid E-Mail
</div>
</div>
</div>
<div class="form-group">
<label for="password" class="col-sm-3 control-label">Password</label>
<div class="col-sm-9">
<input type="password" required placeholder="password" name="password" id="password" class="form-control" ng-model="user.password" />
</div>
</div>
<div class="form-group">
<label for="password" class="col-sm-3 control-label">Confirm Password</label>
<div class="col-sm-9">
<input type="password" required ng-pattern="getPattern()" placeholder="confirm password" name="confirm_password" id="confirm_password" ng-model="user.password_verify" class="form-control" />
<div class="alert alert-danger fade in" ng-show="Registerform.confirm_password.$error.pattern" style="color:red">
Passwords doesn't match
</div>
</div>
</div>
<div class="form-group">
<label for="birthDate" class="col-sm-3 control-label">Date of Birth</label>
<div class="col-sm-9">
<input type="date" id="birthDate" class="form-control" required>
</div>
</div>
<div class="form-group">
<label for="country" class="col-sm-3 control-label">Country</label>
<div class="col-sm-9">
<select id="country" class="form-control" required>
<option>India</option>
<option>USA</option>
<option>Uk</option>
<option>Pakistan</option>
<option>West Indies</option>
</select>
</div>
</div>
<!-- /.form-group -->
<div class="form-group">
<label class="control-label col-sm-3">Gender</label>
<div class="col-sm-6">
<div class="row">
<div class="col-sm-4">
<label class="radio-inline">
<input type="radio" id="femaleRadio" value="Female">Female
</label>
</div>
<div class="col-sm-4">
<label class="radio-inline">
<input type="radio" id="maleRadio" value="Male">Male
</label>
</div>
<div class="col-sm-4">
<label class="radio-inline">
<input type="radio" id="uncknownRadio" value="Unknown">Unknown
</label>
</div>
</div>
</div>
</div>
<!-- /.form-group -->
<div class="form-group">
<div class="col-sm-9 col-sm-offset-3">
<div class="chebox">
<label><input type="checkbox">I accept <a href="#">terms</a></label>
</div>
</div>
</div>
<!-- /.form-group -->
<div class="form-group">
<div class="col-sm-9 col-sm-offset-3">
<button class="btn btn-primary btn-block" ng-click="save()">Register</button>
</div>
</div>
</form>
<!-- /form -->
</div>
<!-- ./container -->
7.Account controller
app.controller('accountCtrl', ['$scope',
function($scope) {
$scope.user = {
password: '',
password_verify: ''
};
$scope.getPattern = function() {
return $scope.user.password && $scope.user.password.replace(/([.*+?^${}()|\[\]\/\\])/g, '\\$1');
};
$scope.save = function() {
var name = document.getElementById("username").value;
// update the result array
var result = JSON.parse(localStorage.getItem("uname"));
if (result == null)
result = [];
result.push(name);
// save the new result array
localStorage.setItem("uname", JSON.stringify(result));
// on init fill the ul
var temp = [];
if (result != null) {
for (var i = 0; i < result.length; i++) {
temp.push(result[i]);
}
}
var upwd = document.getElementById("password").value;
// update the result array
var results = JSON.parse(localStorage.getItem("userpassword"));
if (results == null)
results = [];
results.push(upwd);
// save the new result array
localStorage.setItem("userpassword", JSON.stringify(results));
// on init fill the ul
var a = [];
if (results != null) {
for (var i = 0; i < results.length; i++) {
// var item = result[i];
a.push(results[i]);
}
}
};
}]);
screenshot:
1.Register Page

2.Login Page

3.Home page/welcome page
1.index.html
<html ng-app='LogIn'>
<head>
<meta charset="utf-8">
<meta http-equiv=="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>LOG IN</title>
<!-- styling css -->
<link href="assets/css/bootstrap.min.css" rel="stylesheet" />
<link href="assets/css/style.css" rel="stylesheet">
<link href="assets/css/font-awesome.min.css" rel="stylesheet">
<!-- min scripts -->
<script src="assets/js/angular.min.js"></script>
<script src="assets/js/angular-route.min.js"></script>
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
<!-- angular components -->
<script src="App.js"></script>
<script src="LogInCtrl.js"></script>
<script src="accountCtrl.js"></script>
<script src="homeCtrl.js"></script>
</head>
<!-- end of head -->
<body>
<div class="header">
<h3>EMPLOYEE LOG IN PAGE</h3>
</div>
<div class="container">
<div class="ngview">
<ng-view></ng-view>
<!-- end of ng-view -->
</div>
<!-- end of view div-->
</div>
<!-- end of container -->
<div class="footer">
©
</p>
</div>
<!-- end of footer -->
</body>
<!-- end of body -->
</html>
<!-- end of html -->
2.App.js
/**
* @Filename : app.js
*
*/
var app = angular.module('LogIn', ['ngRoute']);
app.config(['$routeProvider', function($routeProvider, $locationProvider) {
//$locationProvider.html5Mode(true);
$routeProvider.when('/', {
templateUrl: 'templates/LogIn.html',
controller: 'LogInCtrl'
}).when('/account', {
templateUrl: 'templates/account.html',
controller: 'accountCtrl'
}).when('/home', {
resolve: {
"check": function($location, $rootScope) {
if (!$rootScope.login) {
$location.path('/');
}
}
},
templateUrl: 'templates/home.html',
controller: 'homeCtrl'
}).otherwise({
redirectTo: '/'
});
}
3.login.html
<div class="wrapper">
<form class="form-signin" name="loginform">
<h2 class="form-signin-heading">Please login</h2>
<input type="text" class="form-control" name="username" ng-model="username" placeholder="User Name" required autofocus="" id="txtuname" />
<a ng-model="user=username"></a>
<input type="password" id="txtpwd" class="form-control" name="password" placeholder="Password" required/>
<label class="checkbox">
<input type="checkbox" value="remember-me" id="rememberMe" name="rememberMe" /> Remember me
</label>
<button class="btn btn-lg btn-primary btn-block" type="submit" ng-click="homefn()">LOG IN</button>
<a href="#/account" class="btn btn-lg btn-primary btn-block" style="cursor:pointer" role="button">CREATE ACCOUNT</a>
</form>
</div>
4.login control
app.controller("LogInCtrl", function($scope, $location, $window, $rootScope) {
$scope.homefn = function() {
var x = document.forms["loginform"]["txtuname"].value;
var y = document.forms["loginform"]["txtpwd"].value;
if (x == null || x == "" && y == null || y == "") {
alert - danger("must be filled out");
return false;
}
var temp = [];
var xx;
var z;
var temp2 = [];
var name = document.getElementById("txtuname").value;
var upwd = document.getElementById("txtpwd").value;
temp = JSON.parse(localStorage.getItem("uname"));
temp2 = JSON.parse(localStorage.getItem("userpassword"));
for (var i = 0; i <= temp.length && temp2.length; i++) {
xx = temp[i];
z = temp[i];
if (name == xx && upwd == z) {
$rootScope.login = true;
$location.path("/home");
}
}
localStorage.setItem('member', name);
alert(name);
};
});
5.Home.html
<div>
<div class="logout" style="float:right" >
<button class="btn btn-lg btn-primary " type="submit" ng-click="outfn()">LOG OUT</button>
</div>
<span>welcome</span> {{member}}..!<a>
</div>
6.Register.html
<div class="container" style="margin-top:130px">
<form name="Registerform" role="form">
<h2>Registration Form</h2>
<div class="form-group">
<label for="firstName" class="col-sm-3 control-label">Full Name</label>
<div class="col-sm-9">
<input type="text" id="firstName" name="firstName" placeholder="Full Name" class="form-control" autofocus ng-pattern="/^[a-zA-Z0-9]*$/" ng-model="firstName" required>
<span class="help-block">Last Name, First Name, eg.: Smith, Harry</span>
<!--error message -->
<div style="color:red" ng-show="Registerform.firstName.$error.pattern">
Not a Spcl character
</div>
</div>
</div>
<div class="form-group">
<label for="firstName" class="col-sm-3 control-label">User Name</label>
<div class="col-sm-9">
<input type="text" id="username" name="username" placeholder="User Name" class="form-control" autofocus ng-pattern="/^[a-zA-Z0-9]*$/" ng-model="username" required>
<!--error message -->
<div style="color:red" ng-show="Registerform.username.$error.pattern">
Not a Spcl character
</div>
</div>
</div>
<div class="form-group">
<label for="email" class="col-sm-3 control-label">Email</label>
<div class="col-sm-9">
<input type="email" id="email" ng-model="email" placeholder="Email" class="form-control" required>
<!--error message -->
<div class="alert alert-warning fade in" style="color:red" ng-show="Registerform.$error.email">
Enter Valid E-Mail
</div>
</div>
</div>
<div class="form-group">
<label for="password" class="col-sm-3 control-label">Password</label>
<div class="col-sm-9">
<input type="password" required placeholder="password" name="password" id="password" class="form-control" ng-model="user.password" />
</div>
</div>
<div class="form-group">
<label for="password" class="col-sm-3 control-label">Confirm Password</label>
<div class="col-sm-9">
<input type="password" required ng-pattern="getPattern()" placeholder="confirm password" name="confirm_password" id="confirm_password" ng-model="user.password_verify" class="form-control" />
<div class="alert alert-danger fade in" ng-show="Registerform.confirm_password.$error.pattern" style="color:red">
Passwords doesn't match
</div>
</div>
</div>
<div class="form-group">
<label for="birthDate" class="col-sm-3 control-label">Date of Birth</label>
<div class="col-sm-9">
<input type="date" id="birthDate" class="form-control" required>
</div>
</div>
<div class="form-group">
<label for="country" class="col-sm-3 control-label">Country</label>
<div class="col-sm-9">
<select id="country" class="form-control" required>
<option>India</option>
<option>USA</option>
<option>Uk</option>
<option>Pakistan</option>
<option>West Indies</option>
</select>
</div>
</div>
<!-- /.form-group -->
<div class="form-group">
<label class="control-label col-sm-3">Gender</label>
<div class="col-sm-6">
<div class="row">
<div class="col-sm-4">
<label class="radio-inline">
<input type="radio" id="femaleRadio" value="Female">Female
</label>
</div>
<div class="col-sm-4">
<label class="radio-inline">
<input type="radio" id="maleRadio" value="Male">Male
</label>
</div>
<div class="col-sm-4">
<label class="radio-inline">
<input type="radio" id="uncknownRadio" value="Unknown">Unknown
</label>
</div>
</div>
</div>
</div>
<!-- /.form-group -->
<div class="form-group">
<div class="col-sm-9 col-sm-offset-3">
<div class="chebox">
<label><input type="checkbox">I accept <a href="#">terms</a></label>
</div>
</div>
</div>
<!-- /.form-group -->
<div class="form-group">
<div class="col-sm-9 col-sm-offset-3">
<button class="btn btn-primary btn-block" ng-click="save()">Register</button>
</div>
</div>
</form>
<!-- /form -->
</div>
<!-- ./container -->
7.Account controller
app.controller('accountCtrl', ['$scope',
function($scope) {
$scope.user = {
password: '',
password_verify: ''
};
$scope.getPattern = function() {
return $scope.user.password && $scope.user.password.replace(/([.*+?^${}()|\[\]\/\\])/g, '\\$1');
};
$scope.save = function() {
var name = document.getElementById("username").value;
// update the result array
var result = JSON.parse(localStorage.getItem("uname"));
if (result == null)
result = [];
result.push(name);
// save the new result array
localStorage.setItem("uname", JSON.stringify(result));
// on init fill the ul
var temp = [];
if (result != null) {
for (var i = 0; i < result.length; i++) {
temp.push(result[i]);
}
}
var upwd = document.getElementById("password").value;
// update the result array
var results = JSON.parse(localStorage.getItem("userpassword"));
if (results == null)
results = [];
results.push(upwd);
// save the new result array
localStorage.setItem("userpassword", JSON.stringify(results));
// on init fill the ul
var a = [];
if (results != null) {
for (var i = 0; i < results.length; i++) {
// var item = result[i];
a.push(results[i]);
}
}
};
}]);
screenshot:
1.Register Page
2.Login Page
3.Home page/welcome page
Comments
Post a Comment