Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

PHP PHP Arrays and Control Structures PHP Conditionals Switch Statements

Siraj Khan
Siraj Khan
3,451 Points

What is wrong with my code.? Can anyone help please.

What is wrong with my code.? Can anyone help please. It either says "I do not see the correct default output." OR "I do not see a case for admin."

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

//change to switch statement
$role = "admin";
$messageBody = "";


switch($role){ 


    case "admin" :
      $messageBody = "As an admin, you can add, edit, or delete any post.";
      break;  
  default:
      $messageBody = "You do not have access to this page. Please contact your administrator.";
      break;

 }              

echo $messageBody;

?>

1 Answer

Patricia Hector
Patricia Hector
42,901 Points

Hi there :

You need to remove the declaration of $role="admin"; for me, it seems to be interfering with the test cases they may send to your code. The other error is in the line case "admin" : ; you cannot have spaces between admin and the colon. The space situation may even pass in a regular text editor, but the treehouse one is very strict with spaces, tabs and line breaks, which I think is a good thing in a long run; it helps you to be updated with good practices. After these little changes your code will run.

Ciao.