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 trialMalcolm Stretten
3,814 PointsThis tutorial is a nightmare. Can ANYONE see what is wrong with my catalog.php
Here is my catalog.php...I've checked and checked and it seems identical to the trainer's.
<?php include("inc/data.php");
$pageTitle = "Full Catalogue"; $section = null;
if (isset($_GET["cat"])){ if ($_GET["cat"] == "books"){ $pageTitle = "Books"; $section = "books"; } elseif ($_GET["cat"] == "movies") { $pageTitle = "Movies"; $section = "movies"; } elseif ($_GET["cat"] == "music") { $pageTitle = "Music"; $section = "music"; } }
include("inc/header.php"); ?>
<div class ="section catalog page">
<div class = "wrapper"> <h1><?php echo $pageTitle; ?></h1>
<ul class="items">
<?php
foreach($catalog as $item) {
echo "<li><a href='#'><img src= '"
.$item["img"] . "' alt='"
.$item["title"] . "' />"
. "<p>View Details</p>"
. "</a></li>";
}
?>
</ul>
</div>
</div>
<?php include("inc/footer.php"); ?>
10 Answers
Steven Parker
231,236 PointsTwo things stand out:
-
$GET
instead of$_GET
(in 2 places) - "
elseif
" instead of "else if
" (also in 2 places)
Instructions for formatting code can be found in the Markdown Cheatsheet below.
Malcolm Stretten
3,814 PointsSteven
Thank you for your suggestions but my code in fact has $_GET in all places. For some mysterious reason after I pasted it in it does ideed show in two places as $GET - I don't know why! Also, I am pretty sure that 'elseif' and 'else if' are synonymous.
Let me just paste my code again here below;
<?php include("inc/data.php");
$pageTitle = "Full Catalogue"; $section = null;
if (isset($_GET["cat"])){ if ($_GET["cat"] == "books"){ $pageTitle = "Books"; $section = "books"; } elseif ($_GET["cat"] == "movies") { $pageTitle = "Movies"; $section = "movies"; } elseif ($_GET["cat"] == "music") { $pageTitle = "Music"; $section = "music"; } }
include("inc/header.php"); ?>
<div class ="section catalog page">
<div class = "wrapper"> <h1><?php echo $pageTitle; ?></h1>
<ul class="items">
<?php
foreach ($catalog as $item) {
echo "<li><a href='#'><img src= '"
. $item["img"] . "' alt='"
. $item["title"] . "' />"
. "<p>View Details</p>"
. "</a></li>";
}
?>
</ul>
</div>
</div>
<?php include("inc/footer.php"); ?>
Malcolm Stretten
3,814 PointsSteven
I just checked and it's just done it again! Must be some bug on Treehouse - I don't know. Believe me, all of them are $_GET - unless if changes this one!
Malcolm Stretten
3,814 PointsI've TRIED to contact Treehouse Support but all they seem to do is thank me for reaching out. I don't think they even know what's gone wrong here. I don't know if other people have the problem that if you actually email them direct from your email client they never seem to respond - only if you mail them from the web.
Malcolm Stretten
3,814 PointsHello
This is a reply to Alex Watts. Thanks so much for the response but that code did not work either and caused the same error report. And I notice it's very different from Ann Hooligan's code. This suggests there may be a serious fault in the video. I STILL have had no reply from Treehouse apart from thanking me for reaching out.
To confirm, I am pasting the code you sent me below:
<ul class="items"> <?php foreach($catalog as $item) { echo "<li><a href='#'><img src='" . $item["img"] . "' alt='" . $item["img"] . "'>" . $item . "</a></li>"; } ?> </ul>
Andrew Goninon
14,925 PointsI followed along with this video and didn't run into any problems.
Can you tell us what is happening when you view your site? Are there any errors appearing?
Malcolm Stretten
3,814 PointsInstead of the images appearing, I think only one appeared and then there was a lot of error messages.
The point is that I am SURE that my code is identical to the trainer's in every way. Can you see anything at all wrong in my code?
caroline
6,974 PointsHi Malcom
I'm a PHP newbie too so not sure if I can help, but I just wanted to let you know that I copied and pasted your code in its entirety from your first post, and then again from your second post, into my catalog.php page and it works fine on my site. Could the error be in your data.php file (or one of the other include files)?
Maybe if you post the error messages you're getting that might help someone to help you also.
Caroline
Malcolm Stretten
3,814 PointsThank you, Caroline. I will check.
peter anderson
3,125 PointsI had the same error ( only some images displaying ). Check your data.php file and make sure that the content matches the data from the teachers data.txt file. In my case I had the following old code: $catalog[201] = "Forrest Gump"; $catalog[301] = "Beethoven"; $catalog[102] = "Clean Code";
Removing the old code made it work.