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
Here we will create an administration panel that displays all the users and allows their role to be changed.
Code Snippet
<div class="panel">
<h4>Users</h4>
<table class="table table-striped">
<thead>
<tr>
<th>Username</th>
<th>Registered</th>
<th>Promote/Demote</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
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
Before we add and
edit the books themselves,
0:00
we're going to want to allow
administrators to edit all the books.
0:03
So we need a way to set administrators.
0:07
We'll want to make sure that
an administrator is able to promote
0:10
other users to an administrator as well.
0:14
We'll need to add this
functionality in two steps.
0:17
First, we need to create a user list
with promote and demote buttons.
0:21
When we have those wired up, we'll
promote ourselves to an administrator.
0:27
After that,
0:31
we'll lock down the administrator
panel to only administrators.
0:32
Let's create a new file,
0:37
we'll name this admin.php.
0:41
We're going to copy everything
from add.php as our base.
0:46
Now we can make our changes.
0:53
We'll change our header to be Admin, and
we'll remove the rest of the content.
0:55
We're going to add a new
panel with a user table.
1:04
You can grab this code from
the notes attached to this video.
1:08
Within our table body,
we want to loop through each user and
1:18
display the correct information,
1:23
along with a button to either promote or
demote that user.
1:26
There are two functions we'll be
using in the functions_users file,
1:31
so let's take a look.
1:36
The first function is named getAllUsers,
and
1:37
it simply returns an array of
all the users in the database.
1:41
The other function we'll be
using is named changeRole,
1:45
it accepts the userId and a roleId.
1:50
It then updates the database with these
new values and returns an updated user.
1:54
Let's go back to admin.
2:00
We'll start with our loop.
2:03
Foreach, getAllUsers() as $user.
2:06
We're going to add a row, And
2:20
then add our table cells,
2:27
echo $user['username'].
2:31
And then our created_at date.
2:42
And then we're going to add our button.
2:48
And then we end our foreach.
2:55
Now we're ready to set up our buttons.
3:00
I want our button to show
the action that can be done, so
3:03
we will add a little
bit of logic around it.
3:06
First for our conditional,
3:12
if the $user['role_id'] == 1,
3:17
And then we'll add our endif.
3:27
If our role_id == 1,
3:33
then we're going to add
a link to /procedures,
3:36
/adjustRole.php.
3:44
And we're going to pass the roleId,
3:50
which will equal 2, and the userId,
3:54
which is going to equal echo $user['id'].
3:59
And then we add a class =
4:07
"btn btn-xs btn-warning".
4:13
And this will be Demote to General User.
4:22
Let's copy this line, and
then we're going to add an else.
4:30
Elseif our $user['role_id'] == 2,
4:37
Then we're going to
change our roleId to 1.
4:53
And we're going to be promoting,
Promote to Admin.
4:58
We'll also change this
styling on the button.
5:06
This is going to be success.
5:10
Now to make these buttons work,
we're going to need a new procedure.
5:13
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