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 Operators

Is my code valid? It passes, and I've seen different ways to do this, I just want to know if my code is right.

<?php $username = 'sketchings'; //Available roles: author, editor, admin $role = 'editor';

//add conditional statement //Should I have used the OR || operator instead of the && operator or does that matter? if ($username = true && $role != 'admin'){ echo "You do not have access to this page. Please contact your administratior."; } ?>

index.php
<?php
$username = 'sketchings';
//Available roles: author, editor, admin
$role = 'editor';

//add conditional statement
echo "You do not have access to this page. Please contact your administratior.";

1 Answer

Hi there Key!

Even if this solution passes, your condition is not correct. Because you are assigning to the variable $username boolean value. Which in condition statement will evaluate to true. Second condition will also evaluate to true because role is not admin.

if ($username = true && $role != 'admin')

In order to check if string is not empty, simply remove assigning operator.

if ($username && $role != 'admin')

But in your case, you need to check if variable exist. OR operator is not an option here because you need to check both conditions at same time.

if (isset($username) && $role != 'admin')

Here is some useful docs for you. http://php.net/manual/en/function.isset.php

Best regards.

Thank you for responding to my post! I had a gut feeling that it wasn't correct even though it passed.