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 Build a Simple PHP Application Creating the Menu and Footer Introducing Conditionals

header appearance all screwy after applying conditionals! (why??)

my index page now shows a big white block over/around the SHIRTS page link: after applying conditional codes to show the underline indicating the nav link is of the current page, this effect appeared. In the video, he doesn't navigate to the index page (just SHIRTS and CONTACT, showing the code worked), so I wasn't able to determine if he had this same issue, or not. Please & Thank You!

1 Answer

Hi Byron,

This happens because the $section variable is undefined on the home page. It was never set to a value because it wasn't needed. php outputs a notice error which causes the problems you see on the page.

One solution is to set the section variable to something on the index page. $section = home; for example, but you have to remember to always do this for every page whether the variable is needed on that page or not.

The solution I went with is to check first if the $section variable is set before trying to use it.

<li class="shirts<?php if ( isset($section) && $section == "shirts") { echo " on"; } ?>"><a href="shirts.php">Shirts</a></li>
<li class="contact<?php if ( isset($section) && $section == "contact") { echo " on"; } ?>"><a href="contact.php">Contact</a></li>

that worked!

I'm sorry it took me this long to respond, funny thing was that when I published this set of work to my server/site, the issue I had with that white block around the SHIRTS link in the banner of my root index page was gone.

I don't understand how, or why it was only appearing as a problem on my localhost address, but alas...

anyway, you were right. There needed to be a $section variable set to the value "home" under the $pageTitle variable on the index.php file in the root directory to the site.

excellence! Thank You.