I have this simple piece of code.
I am using GET to retrieve the catID from URL, then match it and set a backgorund image, some backgorund images can change per catID variable. When selected or clicked on.
It is not working, it is producing the catId in ech $_Get, but not matching it with $filename to set correct Image.
Ex. Browser catID may == 1, it code displays catid = 1, file name = deals_2.jpg.
This is worng. should be catid = 1 , filename = 1.
PLEASE HELP, missing something.
<?php
$imgpath = '/shushmedeals/templates/shushme_deals/images/';
//$bgimgID = $item->id;
$bgimgID = isset($_GET['categoryId']);
$bgimgID = $_GET['categoryId'];
echo $bgimgID;
//echo 'shoot her eman';
//echo $imgpath;
if($bgimgID){
$bgimgID = 1;
$filename = '/shushmedeals/templates/shushme_deals/images/bg_home.jpg';
}
if($bgimgID = 2){
$filename = '/shushmedeals/templates/shushme_deals/images/shushme_bg_img1.jpg';
}
if($bgimgID = 3){
$filename = '/shushmedeals/templates/shushme_deals/images/shushme_bg_img2.jpg';
} else {
$filename = '/shushmedeals/templates/shushme_deals/images/shushme_bg_img3.jpg';
}
if($filename){
echo '<br>'.$filename;
// SET COOKIE
//setcookie('bgimg', $filename);
//echo $_COOKIE['bgimg'];
} else {
echo "There is no Background for this category";
// DO NOT SET COOKIE
}
// Print an individual cookie
echo $_COOKIE["location"];
?>
The “if” statement is clumsy way to do this.
There are a few different ways to approach this problem.
If your filenames are consistent (eg a catId of 1 is for bg_img2.jpg, catId of 2 is bg_img3.jpg, etc) you can simply concatenate the catId (after modifying it)
That single line replaces the entire ‘if’ block. But that will NOT accommodate your first case (the bg_home).
The other way to do this is by replacing your ‘if’ statement with a ‘switch’ statement (also known as a ‘case’).
switch($bgimgID) {
case 1 : $filename = $imgpath . 'bg_home.jpg';
break;
case 2 : $filename = $imgpath . 'shushme_bg_img1.jpg';
break;
case 3 : $filename = $imgpath . 'shushme_bg_img2.jpg';
break;
default : //this is the safety valve in case the value does not match any of these cases
$filename = $imgpath . 'bg_home.jpg';
}
This is precisely the type of logic for which the SWITCH statement is intended.