Vet inte hur du kom på den syntaxen :) men så här bör det se ut:
<? } elseif ($_GET['id'] == "2" || $_GET['id'] == "21") { ?>
Det som händer nu är att först kollas om id är "1" är det inte det går den vidare. Sen kollar den om antingen $_GET['id'] == "2" är sant eller om "21" är sant, eftersom koden är felskriven. Och eftersom strängen "21" alltid är sann om man säger så, kommer skriptet stanna där.
Ett annat sätt att göra samma sak är:
<? switch ($_GET['id']) {
case "1":
?>
id1
<? break;
case "2":
case "21": ?>
id2 eller id21
<? break;
case "3":
case "31": ?>
id3 eller id31
<? break;
} ?>
Med denna syntax är det dock viktigt att du inte glömmer break efter varje alternativ, som jag visar ovan.
