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

I had no idea what I did wrong.

it said that it couldn't see a case for admin

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

//change to switch statement
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.";
}
?>

4 Answers

Henrik Christensen
seal-mask
.a{fill-rule:evenodd;}techdegree
Henrik Christensen
Python Web Development Techdegree Student 38,322 Points

You do structure your code like this, right?

<?php

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;
  default:
    echo "You do not have access to this page. Please contact your administrator.";
    break;
}

?>

exactly

Henrik Christensen
seal-mask
.a{fill-rule:evenodd;}techdegree
Henrik Christensen
Python Web Development Techdegree Student 38,322 Points
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;
}

I passed the first task with your answer. Thank you. But when I go to second task it is to add cases for editor and author, I did and still had the same problem. Now it say it didn't see editor case... This is my code <?php //Available roles: admin, editor, author, subscriber if (!isset($role)) { $role = "subscriber"; }

//change to switch statement 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 ; default:
echo "You do not have access to this page. Please contact your administrator."; break; } ?>

Henrik Christensen
seal-mask
.a{fill-rule:evenodd;}techdegree
Henrik Christensen
Python Web Development Techdegree Student 38,322 Points

Try remove the space between " and : in this line: case "editor" :.

You also got a space you might want to remove between " and ; in this line: echo "As an editor, you can add or edit any post, and delete your own posts." ;

it doesn't work ;-;

Okay , I now figured it out already. I was really really upset with it. Like we learn many ways to code for just a result but we have to do restrict code for this challenge. Unfortunately, they didn't give us the spacial requirement. And this this the code that works with this challenge.

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;
  default:
    echo "You do not have access to this page. Please contact your administrator.";
    break;
}

Cr.Damien Watson

Thanks Henrik Christensen for your intent to help :)