webForumDet fria alternativet

If slinga

PHP

13 svar · 1 502 visningar · startad av Gimbo

Medlem sedan dec. 20001 626 inlägg
Frågan#1

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...

Medlem sedan juni 20019 519 inlägg
#2

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å =

Medlem sedan dec. 20001 626 inlägg
#3

När jag använder == visas ingen bild alls, verkar som att den inte kollar elseif satsen?

Medlem sedan juni 20019 519 inlägg
#4

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.

Medlem sedan juni 20019 519 inlägg
#5

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?

Medlem sedan dec. 20001 626 inlägg
#6

Bilden dyker inte upp och när jag kolalr källkoden så finns inte ens img taggen, dvs inget skrivs ut...

Medlem sedan dec. 20001 626 inlägg
#7

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?

Medlem sedan dec. 20001 626 inlägg
#8

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...

Medlem sedan juni 201161 inlägg
#9

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.

Medlem sedan juli 2011156 inlägg
#10

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.

Medlem sedan juni 20019 519 inlägg
#11

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.

Medlem sedan juli 2011156 inlägg
#12

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.

Medlem sedan dec. 2004736 inlägg
#13

Sätter du $produkt = $parts2[0]; i din kod? Så du inte sätter $produkt till hela $parts2-arrayen?

Medlem sedan dec. 20001 626 inlägg
#14

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!

266 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)