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

BREAK

Why it's not working ?

switch.php
<?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.";
} else {
switch ($role) {
  case 'admin':
    echo "As an admin, you can add, edit, or delete any post.";
    break;
  case 'editor':
    echo "As an editor, you can add or edit any post, and delete your own posts.";
    break;
  case 'author':
    echo "As an author, you can add, edit, or delete your own post.";
    break;
  case 'default':   
    echo "You do not have access to this page. Please contact your administrator.";

  }
}
?>

1 Answer

Jennifer Nordell
seal-mask
STAFF
.a{fill-rule:evenodd;}techdegree
Jennifer Nordell
Treehouse Teacher

Hi there! The if statement that checks if the "role" is set to admin was supposed to be removed completely and converted to a switch statement. Try removing this part and give it another shot! Hope this helps! :sparkles:

edited for additional note

Also, your default statement is incorrect. You're asking if the user role is equal to "default", not saying what happens as a default action. Instead of case 'default'that should be just default: