GimboMedlem sedan dec. 20001 626 inlägg Hej,
Varför fungerar inte nedan if slinga? det den visar är bild1 hela tiden även om variabel är test1 så visar den test.png då den i själva verket bör visa test1.png
<?php if ($produkt = "test"):?>
<img src="/images/test.png">
<?php elseif ($produkt = "test1"):?>
<img src="/images/test1.png">
<?php elseif ($produkt = "test2"):?>
<img src="/images/test2.png">
<?php endif?>
tacksam för all hjälp...
varför skall du skriva det på det sättet?
<img src="/images/<?php echo $produkt?>.png" />
annars när du skall kolla if frågor så är det två =
GimboMedlem sedan dec. 20001 626 inlägg När jag använder == visas ingen bild alls, verkar som att den inte kollar elseif satsen?
Detta ser för det första så ser det ut att en if fråga är extremt överflödig och om du nu måste ha någon sådan logik så är en switch sats något du borde använda dig av hellre i detta exemplet.
testade:
<?php
$produkt = "test1";
?>
<?php if ($produkt == "test"):?>
<img src="/images/test.png">
<?php elseif ($produkt == "test1"):?>
<img src="/images/test1.png">
<?php elseif ($produkt == "test2"):?>
<img src="/images/test2.png">
<?php endif?>
fungerade för mig, vad fungera inte?
GimboMedlem sedan dec. 20001 626 inlägg Bilden dyker inte upp och när jag kolalr källkoden så finns inte ens img taggen, dvs inget skrivs ut...
GimboMedlem sedan dec. 20001 626 inlägg verkar som att det blir något galet med min variabel antingen att ett blanksteg smyger sig in eller något, jag deklererar min variabel genom följande kod som jag fick utav andersN
<?
$currentFile = $_SERVER['REQUEST_URI'];
$parts = Explode('/', $currentFile);
$subs=$parts[count($parts) - 1];
$parts2 = Explode('-', $subs);
//echo $parts2[0];
//$parts2 = test1;
?>
när jags kriver test1 för variabeln så fungerar det, men när jag däremot använder koden så fungerar det inte, testade att smyga in en trim() runt explode, men det fungerar inte heller, då jag skriver ut variabeln så skriver den ut test1 men jag misstänker blanksteg, någon aning om hur jag kan trimma det?
GimboMedlem sedan dec. 20001 626 inlägg Blir galen på d här, har testat med alla sorts trim utan att d funkar, har testat rtrim($parts2) på variabeln, samt str_trim(" ","", $parts2)
utan framgång...
Det framgår inte av din kodsnutt vad du sätter variablen $produkt till.
Om du misstänker blanksteg, så skriv ut den omgärdad av kända tecken så att du ser om den innehåller blanksteg.
För många start och sluttaggar
En if/elsif sats måste hänga ihop i en logisk följd. Det som ska utföras om villkoret är sant måste skrivas inom {} "måsvigar" och utgöras av PHP-kod. Det ska heller inte vara kolon efter parentesen som innehåller villkoret.
kluringen skrev:
En if/elsif sats måste hänga ihop i en logisk följd. Det som ska utföras om villkoret är sant måste skrivas inom {} "måsvigar" och utgöras av PHP-kod. Det ska heller inte vara kolon efter parentesen som innehåller villkoret.
Det går att skriva if frågor på detta sätt också http://php.net/manual/en/control-structures.alternative-syntax.php
är det verkligen "test" du har och inte "Test"? Detta är inte samma sak heller.
Tack voigtann1
Man lär så länge man lever! Tänk vad ett litet ":" bjuder på möjligheter. Att kunna mixa PHP och HTML kod på detta sätt är kanon så klart.
LedelMedlem sedan dec. 2004736 inlägg Sätter du $produkt = $parts2[0]; i din kod? Så du inte sätter $produkt till hela $parts2-arrayen?
GimboMedlem sedan dec. 20001 626 inlägg gahhhh Tack för hjälpen! det var att jag inte satte variabeln som $parts2 = $parts2[0]
jag skriver ut det som parts2[0] men deklarerar inte det till variabeln! så dum man får va, men nu funkar det! tack för hjälpen!