webForumDet fria alternativet
Logga in / Bli medlem

If ** echo "class="active"" ????

PHP

3 svar · 312 visningar · startad av Hampan90

Medlem sedan feb. 2007137 inlägg
Trådstart#1

Hej!
Är ruskigt nybörjare på PHP så har ett litet problem här..

Jag har en meny där den sida man är inne på ska ha classen "active"
så jag tänkte lösa det såhär:

<li id="tjanster" <?php if ($_GET["sida"] == "tjanster"){ echo "class="active"";}?>><a href="#">Tjänster</a></li>

Jag trodde attdet skulle funka, men det gör det inte.
Den ska alltså kolla i adressfältet om sida == tjänster, då skall den print ut class="active" i li taggen.

Får detta felmedelande:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in E:\Mina Dokument\Webbproduktion\Ergonomeva\site\index.php on line 49

Något tipps?
Antar att det beror på att det blir för många ", eller?

Medlem sedan aug. 20039 340 inlägg
#2
<li id="tjanster" <?php if ($_GET["sida"] == "tjanster"){ echo "class=\"active\"";}?>><a href="#">Tjänster</a></li>

Escapa med backslash.

Medlem sedan feb. 2007137 inlägg
#3

Tack, det hjälpte.. Men varför måste man göra så?

Medlem sedan aug. 20039 340 inlägg
#4

Jo, du börjar strängen med ett ", sedan när strängen fortsätter class=" så tror PHP att strängen slutar där. Alltså måste du s k escapa tecknet för att PHP fortsätta läsa strängen.

253 ms totalt · 4 externa anrop · v20260731065814-full.50d4b5bd
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)