M maz0 Medlem sedan juni 2004 24 inlägg Trådstart 8 feb. 2005 18:38 #1 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.
<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?
Peeer Medlem sedan mars 2002 5 907 inlägg 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
<?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
$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>';
M maz0 Medlem sedan juni 2004 24 inlägg Tusen tack...alt 2 fungerade perfekt