webForumDet fria alternativet

IF-sats med olika HTML-kod?

PHP

5 svar · 915 visningar · startad av Quid

Medlem sedan juni 20006 022 inlägg
Frågan#1

Jag håller på att lära mig php, men har stött på ett litet problem...

Låt säga att jag vill visa olika sidor beroende på vad som står i adressfältet.

<?php
if ( = isset( $_GET['choice'] ) )
?>

Om choice har ett värde så vill jag visa ett kodstycke, om det inte är satt så vill jag visa ett annat. Hur gör man då?

Medlem sedan maj 20011 826 inlägg
#2

En enkel men kanske inte så snygg lösning är nedanstående, men lite beroende på hur du vill ha det så går det nog att göra det bra mycket snyggare:

<?php
if ( = isset( $_GET['choice'] ) )  {
?>

<html>...</html>

<?php } else { ?>

<html></html>

<?php } ?>
Medlem sedan juli 20023 617 inlägg
#3

Ett smidigt sätt att lösa det med är switch.

Men om du nu inte har fler än två alternativ så funkar erciz förslag bra.

Medlem sedan juni 20006 022 inlägg
#4

Den där special-parentesen var inte med webbskolan jag följer, iaf inte än.

Tack!

Medlem sedan maj 20011 826 inlägg
#5

Quid skrev:

Den där special-parentesen var inte med webbskolan jag följer, iaf inte än.

Tack!

Oj, du menar "{" och "}"?

Det bör du alltid ha med när du skriver if-satser. Annars är det lätt att det blir fel.

Om du skriver

if($x==3)
    echo $x;
echo $hello;

Så är det ju bara första echo-anropet som villkoras av if-satsen. Men vill du ändra och lägga till en sak som ska utföras när villkoret är uppfyllt så är det lätt att man glömmer "{" och "}", och då utförs iallafall bara första echo-anropet på villkor.

Så det kan vara bra att redan från början använda

if($x==3) {
    echo $x;
}
echo $hello
Medlem sedan mars 2006296 inlägg
#6

Bara ett litet tips. När jag skriver if-satser där jag har html-innehåll brukar jag skriva så här:

<?php if(isset($_GET['choice'])) : ?>
<html>Choice</html>
<?php else : ?>
<html>Inte Choice</html>
<?php endif; ?>

Jag tycker det blir lite lättare att hålla reda på när det blir mycket html mellan.

258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)