Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

PHP PHP Arrays and Control Structures PHP Conditionals Switch Statements

Thomas Minnefor
Thomas Minnefor
7,952 Points

Why am I getting for - "Bummer! I do not see the correct default output."

Why am I getting for - Bummer! I do not see the correct default output.

Here's the coding challenge -

In the code provided, there are two if statements. The second if statement displays a message IF the user role is not equal to "admin". We want to display separate messages based on the role of the logged in user. First we're going to add a message for our admin and keep the current message as the default.

Step 1: Change the second if statement to a switch statement, keeping the current message as the default.

Step 2: Add a second check to the switch statement for the role of "admin" and display the following message:

As an admin, you can add, edit, or delete any post.

Here's the original code -

<?php //Available roles: admin, editor, author, subscriber if (!isset($role)) { $role = 'subscriber'; }

//change to switch statement if ($role != 'admin') { echo "You do not have access to this page. Please contact your administrator."; }

Here's my modification - thanks

<?php //Available roles: admin, editor, author, subscriber if (!isset($role)) { $role = 'subscriber'; } //change to switch statement else{ switch ($role) { case admin: echo "As an admin, you can add, edit, or delete any post."; break; default: echo "You do not have access to this page. Please contact your administrator."; break; } }

?>

2 Answers

Joel Bardsley
Joel Bardsley
31,246 Points

Hi Thomas,

You're pretty close, there's a couple of things you need to change:

1) As you're just changing the second if statement in the challenge to a switch statement, you don't need to continue on from the first if statement by providing an else.

2) If your case is checking against a particular role (ie an admin), you'll need to provide the value as a string.

Other than the above, it all looks good! An additional point I should mention, although not essential to this challenge, as the default value comes at the end of the switch statement, the break becomes redundant.

Hope that helps, if any of the above doesn't make sense let me know.

Thomas Minnefor
Thomas Minnefor
7,952 Points

Hi Joel,

Thanks very much for your kindness. I appreciate the advice and will make the update.

Thanks and happy weekend!