New Member Form

This page uses a Hashtag Form to set Usernames & Hashed Passwords for new Members.   The form is styled using Bootstrap 3 default theme classes.   jQuery is used to confirm the password.  



Processed this Hashtag Markup:
<# start form for members;
	set form.class to "form-horizontal";
	when creating call compare_passwords();
	when creating set password to "<# form.password as hash salted by form.id #>";
	when done redirect to "/members/list?index=<# form.id #>";
#>

<div class="form-group">
	<label for="username" class="col-sm-3 control-label">Username</label>
	<div class="col-sm-4">
		<input type="text" <# username #> required unique class="form-control" id="username">
	</div>
</div>
<div class="form-group">
	<label for="new_password" class="col-sm-3 control-label">Password</label>
	<div class="col-sm-4">
		<input type="password" <# password #> required class="form-control" id="new_password">
	</div>
</div>
<div class="form-group">
	<label for="confirm_password" class="col-sm-3 control-label">Confirm Password</label>
	<div class="col-sm-4">
		<input type="password" required class="form-control" id="confirm_password">
	</div>
</div>
<div class="form-group">
	<div class="col-sm-offset-3 col-sm-4">
		<input type="button" <# Create button #> class="btn btn-primary">
	</div>
</div>

<# end form #>

<script type="text/javascript">
	function compare_passwords() {
		if($('#new_password').val()!=$('#confirm_password').val()) {
			alert('Passwords do not match');
			return false;
		}
		return true;
	}
</script>

The Members Mini-App uses the Hashtag Markup Language to demonstrate a user authentication process for #WebApps.

Member, Group, and Group Membership records are all stored in an SQL Database.   Methods are provided to create, update, and delete all of these records.  

Members Only pages restrict access based on group membership.