Heads up! To view this whole video, sign in with your Courses account or enroll in your free 7-day trial. Sign In Enroll
Well done!
You have completed Introduction to User Authentication in PHP!
You have completed Introduction to User Authentication in PHP!
Preview
Any authentication system that you need should have a way for a user to be registered into the system. This will involve a registration form and a way to process the registration.
This video doesn't have any notes.
Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
I've included the code for
the basic system of the website,
0:00
which allows guests of our site to
submit books and to vote on them.
0:03
Although the basic
functionality is working,
0:08
let's make it even better
with authentication.
0:10
I want to set the site up, so
0:14
that a user has to be logged in to be
able to submit a book and to vote on it.
0:16
The first requirement here is to allow a
user to register for our book voting site.
0:22
I've already provided
the registration form itself.
0:28
So we can focus on the creation
of the registration procedure.
0:31
We are currently asking for three items.
0:36
A username, a password, and for
the user to confirm their password.
0:38
This form can be extended to require any
0:44
other information that you would like
to have associated with the user.
0:47
Our first step is to
create the procedure for
0:50
registration that this
form will be submitted to.
0:53
In the procedure's folder,
create a new file named doRegister.
0:57
We'll start this file the same
as all other procedures,
1:07
require_once, and
require our bootstrap file.
1:13
We'll go up one level, /inc/bootstrap.php.
1:20
Next, we want to capture the variables
that we need from the request object.
1:27
$username = request.
1:31
Get('username').
1:39
$password = request get('password').
1:44
And we can copy this for
1:51
$confirmPassword and
1:55
get('confirm_password').
1:59
We'll use these variables
through the rest of this script.
2:08
We are now ready to
begin the checks before
2:12
inserting the user into the database.
2:15
When writing your registration scripts,
I always suggest that you start
2:17
with the checks that do not
require database connection.
2:22
So, for our first check,
2:26
let's compare to make sure
the passwords were typed in the same.
2:27
If the $password does not
equal the $confirmPassword.
2:31
If they don't match,
then we're going to add a flash message.
2:45
We use $session,
2:51
getFlashBag, add, error,
2:55
passwords do not match.
3:02
And then we'll redirect
3:08
to register.php.
3:13
If we pass this first check,
3:18
the next thing we should do is to check
to see if that username already exists.
3:20
We have a function for the database
connection in our functions_users file.
3:25
The function is findUserByUsername.
3:31
This function will return an empty
array if no username is found or
3:36
if a user is found and associative array
of the user details from the database.
3:42
We'll use this for our next check.
3:48
We set $user equal to findUserByUsername.
3:54
And we pass our $username.
4:03
We want to make sure that there is no
user in the system with that username,
4:06
so we expect an empty user array.
4:12
So we'll check if not empty, $user.
4:15
If the user array is not empty,
we add a flash error message.
4:23
$Session getFlashBag,
4:28
add error, and we'll say,
4:34
user already exists.
4:41
And then we'll redirect to register.php.
4:46
Before we can finish
off this registration,
4:55
we need to talk about passwords and
security.
4:58
You need to sign up for Treehouse in order to download course files.
Sign upYou need to sign up for Treehouse in order to set up Workspace
Sign up