---
title: "Var är felet?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/122027-var-är-felet"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "maz0"
published: "2005-02-08T18:38:54.000Z"
updated: "2005-02-08T19:16:19.000Z"
replies: 2
views: 228
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/122027-var-är-felet"
---

# Var är felet?

## #1 — maz0, 2005-02-08T18:38Z

Jag har gjort en mallsida som hämtar information från en databas, nu vill jag infoga en bild i topen på sidan, men beroende på vilken information sidan skall innehålla så skall även bilden bytas. Detta har jag försökt att lösa med följande kod.

```php
<td height="15" colspan="8" valign="top">
	<? 	
	if (isset($_GET['cat']) AND isset($_GET['cat']=="vi"))
	{
		print "<img src=\"/images/vi.jpg\" border=\"0\">";
	}
	elseif (isset($_GET['cat']) AND $_GET['cat']=="privat")
	{
		print "<img src=\"/images/privat.jpg\" border=\"0\">";
	}
	elseif (isset($_GET['cat']) AND $_GET['cat']=="foretag")
	{
		print "<img src=\"/images/foretag.jpg\" border=\"0\">";
	}
	elseif (isset($_GET['cat']) AND $_GET['cat']=="kontakt")
	{
		print "<img src=\"/images/kontakt.jpg\" border=\"0\">";
	}
	else
	{
		print "<h1>Bild saknas</h1>";
	}
?> 
</td>
```

 

Problemet är att när jag infogar denna kod snutt så "dör" hela mallen dvs den innehåller ingenting, det enda som finns om man tittar på källan i webbläsaren är \<html\>\<body\>\</body\>\</html\>.  
Jag kan inte hitta något fel...någon annan som kan?

Permalänk: https://www.webforum.nu/p/122027

## #2 — Peeer, 2005-02-08T19:09Z

Din första if-sats ser lite konstig ut

```
if (isset($_GET['cat']) AND [b]isset($_GET['cat']=="vi"[/b]))
```

Ett alternativ till alla dessa if-satser är att du tar dig en titt på [switch](http://se.php.net/switch)

```php
<?php     
if(!isset($_GET['cat']))
	$_GET['cat'] = '';	

switch($_GET['cat']){
	case 'vi':
		print '<img src="/images/vi.jpg" border="0">';
		break;
    
    case 'privat':
		print '<img src="/images/privat.jpg" border="0">';
		break;
		
    case 'foretag':
		print '<img src="/images/foretag.jpg" border="0">';
		break;

	case 'kontakt':
        print '<img src="/images/kontakt.jpg" border="0">';
		break;

	default:
        print '<h1>Bild saknas</h1>';
}
?>
```

Blir smidigare kod enligt mig. En ännu smidigare variant som fungerar i det här fallet är 

```php
$arr = array('vi','privat','foretag','kontakt');
if(isset($_GET['cat']) and in_array($_GET['cat'],$arr))
	print '<img src="/images/'.$_GET['cat'].'.jpg" border="0">';
else 
	print '<h1>Bild saknas</h1>';
```

 :)

Permalänk: https://www.webforum.nu/p/1549013

## #3 — maz0, 2005-02-08T19:16Z

Tusen tack...alt 2 fungerade perfekt

Permalänk: https://www.webforum.nu/p/1549016

---

Tråden på webben: https://www.webforum.nu/amne/php/122027-var-är-felet
