Avatar billede h_johansen Nybegynder
04. august 2004 - 11:21 Der er 10 kommentarer og
1 løsning

If-elseif-if spørgsmål..

Hejsa.. :)

Jeg prøver for tiden at lære mig selv en smule php, og i den forbindelse er jeg ved at bygge min hjemmeside op på ny. Jeg er imidlertid løbet ind i følgende (sikkert banale) problem.

Min navigation virker ikke, se problemet på http://bille-online.net ..


Scriptet som burde virke ser sådan ud:

<?php
$id = $_GET['id'];
if ( $id == null ) {
include("content/velkomst.txt");
} elseif ( $id = "foto" ) {
include("content/foto.txt");
} elseif ( $id = "links" ) {
include("content/links.txt");
} elseif ( $id = "kontakt" ) {
include("content/kontakt.txt");
} elseif ( $id = "mindatter" ) {
include("content/mindatter.txt");
} elseif ( $id = "tagwall" ) {
include("content/tagwall.txt");
} elseif ( $id = "velkomst" ) {
include("content/velkomst.txt");
} else {
include("content/fejl.txt");
}
?>

..og nej, jeg er IKKE nogen haj til PHP.. ;-)
Avatar billede webcreator Nybegynder
04. august 2004 - 11:23 #1
Du kan ikke bruge "null" som du gør ovenfor. Du bør skrive :
if (!$id) {
    include("content/velkomst.txt");
}

Ovenstående svare til, at du skriver if ($id == "") - altså "hvis $id er tom, så.."
Avatar billede webcreator Nybegynder
04. august 2004 - 11:24 #2
Husk i øvrigt at bruge indrykning. Din kode bliver meget mere læselig, hvis du skriver det sådan :

<?php

$id = $_GET['id'];

if (!$id) {
    include("content/velkomst.txt");
} elseif ( $id = "foto" ) {
    include("content/foto.txt");
} elseif ( $id = "links" ) {
    include("content/links.txt");
} elseif ( $id = "kontakt" ) {
    include("content/kontakt.txt");
} elseif ( $id = "mindatter" ) {
    include("content/mindatter.txt");
} elseif ( $id = "tagwall" ) {
    include("content/tagwall.txt");
} elseif ( $id = "velkomst" ) {
    include("content/velkomst.txt");
} else {
    include("content/fejl.txt");
}

?>
Avatar billede webcreator Nybegynder
04. august 2004 - 11:27 #3
Hov, skriv i øvrigt to == tegn
Avatar billede webcreator Nybegynder
04. august 2004 - 11:28 #4
Altså :

<?php

$id = $_GET['id'];

if (!$id) {
    include("content/velkomst.txt");
} elseif ($id == "foto") {
    include("content/foto.txt");
} elseif ($id == "links") {
    include("content/links.txt");
} elseif ($id == "kontakt") {
    include("content/kontakt.txt");
} elseif ($id == "mindatter") {
    include("content/mindatter.txt");
} elseif ($id == "tagwall") {
    include("content/tagwall.txt");
} elseif ($id == "velkomst") {
    include("content/velkomst.txt");
} else {
    include("content/fejl.txt");
}

?>
Avatar billede h_johansen Nybegynder
04. august 2004 - 11:39 #5
Hej webcreator..

Du skriver "Ovenstående svare til, at du skriver if ($id == "") - altså "hvis $id er tom, så.."
Det var sådanset også det jeg ville opnå.. altså hvis $id er tom inkluderes velkomst.txt. Hvad er problemet med scriptet sådan som jeg havde skrevet det?

Ud over det så tak for svaret, jeg godkender det lige.. :-)
Avatar billede webcreator Nybegynder
04. august 2004 - 11:59 #6
Problemet var at du ikke kan skrive null. Du kan enten skrive :
1) if ($id == "")
2) of (!$id)

Det er begge måder at skrive, at variablen $id skal være tom.

I øvrigt havde du kun lavet ét =tegn i dine elseif'er. Der skal være 2.
Avatar billede webcreator Nybegynder
04. august 2004 - 12:00 #7
Jeg må i øvrigt lige kommentere din side. Overordentlig simpelt og lækkert - ikke så meget der. Kan godt lide designet - så fortsæt bare i den stil :-)
Avatar billede h_johansen Nybegynder
04. august 2004 - 12:01 #8
Tak for forklaringen webcreator.. fortsat god dag.. :-)

/henrik
Avatar billede h_johansen Nybegynder
04. august 2004 - 12:01 #9
Tak for det :-D Så er jeg heldigvis ikke helt galt på den..
Avatar billede hvidlogspusher Nybegynder
04. august 2004 - 12:23 #10
du kunne overvejede at kigge nærmere på switch() functionen
Avatar billede webcreator Nybegynder
04. august 2004 - 18:04 #11
Det var så lidt :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester