Jump to content

help with a simple script that switches


joestar

Recommended Posts

Hey guys I am new to php and this forum. I need a little help with creating a script. the intended use is when a user visits a url like

"myurl.com/?show=house" they are show a picture of housewives. Here is the code I have

 

 

<?php

$keyword=$_GET['show'];

 

if (strpos($keyword,'house') !== false) { $image="housewives.jpg"; }


if (strpos($keyword,'mickey') !== false) { $image="mickey.jpg"; }

 


else { $image = "default.jpg"; }

?>

 

the issue I a having is default.jpg is always shown to the user unless the url is "myurl.com/?show=mickey"

 

if anyone know how to solve this issue please help a noob out.

Link to comment
Share on other sites

The else is attached to the second if, and only that. Since $keyword doesn't contain "mickey", it executes.

 

You need an else if:

<?php
$keyword=$_GET['show'];
 
if (strpos($keyword,'house') !== false) { $image="housewives.jpg"; }
else if (strpos($keyword,'mickey') !== false) { $image="mickey.jpg"; }
 
else { $image = "default.jpg"; }
?>
Link to comment
Share on other sites


<?php
if(isset($_GET['show']) && trim($_GET['show']) != ''){
$keyword = trim($_GET['show']);

switch ($keyword) {
case "house":
$image = "$keyword.jpg";
break;
case "mickey":
$image = "$keyword.jpg";
break;
default:
$image = "default.jpg";
break;
}

}else{
$image = "default.jpg";
}


echo $image;
?>
Link to comment
Share on other sites

If you don't want to create a pile of if/else or switches for each one and name them the same try the code below.

 

Assumes images are in a directory named images

if(isset($_GET['show']) && trim($_GET['show']) != ''){
$keyword = trim($_GET['show']);
$image = "/images/".$keyword.".jpg";

$image_location = $SERVER['DOCUMENT_ROOT'].$image;
if(!file_exists($image_location)){
$image = "/images/default.jpg";
}
} else {
$image = "/images/default.jpg";
}
Link to comment
Share on other sites

Thanks for the extended code QuickOldCar. I don't mind adding the else manually mainly because each keyword might be slightly different, for example, it might say "mickey mouse" instead of just "mickey" and I would have to create a jpg for mckey mouse and mickey. But I might be wrong as I am quite new to php.

 

btw the code worked a charm.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.