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!
Preview
Video Player
00:00
00:00
00:00
- 2x 2x
- 1.75x 1.75x
- 1.5x 1.5x
- 1.25x 1.25x
- 1.1x 1.1x
- 1x 1x
- 0.75x 0.75x
- 0.5x 0.5x
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