Gå til innhold
🎄🎅❄️God Jul og Godt Nyttår fra alle oss i Diskusjon.no ×

Anbefalte innlegg

Jeg har laget en side for legekontoret mitt i PHP, gjorde det på eget initiativ, men ser faktisk ut som de har lyst å benytte siden jeg har laget.

Det kan se ut som de har Telenor som webhost (huff), så de har bare tilgang til ASP, ikke ASP.NET og PHP.

 

Hvordan skal den følgende kodesnutten se ut i ASP?

  <?php
   $side = $_GET['side']; 

 	if($side == 'kontakt') { 

   include("inc/kontakt.php");

 	} 

 	else if($side == 'veibeskrivelse') { 

   include("inc/veibeskrivelse.php");
 	}

 	else if($side == 'bedriftshelse') { 

   include("inc/bedriftshelsetjeneste.php");
 	}

 	else if($side == 'flymedisin') { 

   include("inc/flymedisinsk.php");

 	}

 	else if($side == 'nyheter') { 

   include("inc/nyheter.php");

 	}

 	else if($side == 'tjenester') { 

   include("inc/tjenester.php");

 	}  

 	else { include("inc/forside.php"); } 

 ?> 

 

Altså for å få til den samme funksjonaliteten?

Lenke til kommentar
Videoannonse
Annonse

såvidt jeg kan se blir koden slik i ASP 3.0;

 

<%
Dim side
side = request.querystring("order")

if side = "kontakt" then 
<!--#include file="inc/kontakt.inc" -->

else if side = "veibeskrivelse" then 
<!--#include file="inc/veibeskrivelse.inc" -->

else if side = "bedriftshelse" then 
<!--#include file="inc/bedriftshelse.inc" -->

else if side = "flymedisin" then 
<!--#include file="inc/flymedisin.inc" -->

else if side = "tjenester" then 
<!--#include file="inc/tjenester.inc" -->
else 
<!--#include file="inc/forside.inc" -->
end if
end if
end if
end if
end if
%>

Lenke til kommentar
Er antallet "end if"-er gjort med vilje?

6066963[/snapback]

 

jeps. I ASP brukes THEN og END IF istedenfor { og } som er vanlig å bruke i andre programmeringsspråk. For å få med den "defaulte" else til slutt må alle end i samles sammen slik jeg har gjort det her...

 

(end if samsvarer med antall if-setninger)

Lenke til kommentar
  • 2 uker senere...

Grunnen til at han trenger så mange End If på slutten i ASP er fordi ASP har ikke en egen "else if" konstruksjon. Det er egentlig bare en "else" clause med en If setning inni.

Hvis han hadde indentert koden litt så hadde du sett det tydligere. PHP har en egen "else if" konstruksjon som betyr at du kan føye på ekstra "else if" så mange ganger du vil uten tullet med end if.

 

Eksempler:

PHP

if (a == b) {
   print("a er lik b");
} else if (a == 3) { /* Egen "else if" konstruksjon */
   print("a er lik 3");
} else if (a == (b*2)) {
   print("a er lik dobbelte av b");
} else { /* En else alene */
   print("noe annet");
}

 

ASP

If a = b Then
   Response.Write "a er lik b"
Else ' En frittstående Else. Ikke noe "Else If".
   If a = 3 Then ' Frittstående If. Ikke en del av "Else If".
       Response.Write "a er lik 3"
   Else
       If a = (b*2) Then
           Response.Write "a er lik dobbelte av b"
       Else
           Response.Write "noe annet"
       End If
   End If
End If

 

Vet dette er pirkete av meg å forklare, men håper dette klarer opp i litt.

Det er viktig å kunne begge språkene godt når man skal oversette kode, eller er det lett og missfortstå. Jeg har oversatt en del C code til Pascal og vet hvor slitsomt det er.

Endret av saivert
Lenke til kommentar
såvidt jeg kan se blir koden slik i ASP 3.0;

 

<%
Dim side
side = request.querystring("order")

if side = "kontakt" then 
<!--#include file="inc/kontakt.inc" -->

else if side = "veibeskrivelse" then 
<!--#include file="inc/veibeskrivelse.inc" -->

else if side = "bedriftshelse" then 
<!--#include file="inc/bedriftshelse.inc" -->

else if side = "flymedisin" then 
<!--#include file="inc/flymedisin.inc" -->

else if side = "tjenester" then 
<!--#include file="inc/tjenester.inc" -->
else 
<!--#include file="inc/forside.inc" -->
end if
end if
end if
end if
end if
%>

 

Ett par problem med detta.

1. använd ElseIf istället för Else If. då behöver du bara en end if.

se: http://msdn.microsoft.com/library/default....74cde3390cb.asp

 

2. include filer bör sluta med .asp, om de slutar med .inc så går de inte igenom asp-interepretatorn och om man känner till andressen till includesidan så skrivs den ut som ren text i browsern. man kan också ställa in iis att intrepretera inc filer men det är lite överkurs.

 

3. det är värt att notera att include filer blir includerard innan asp-kod kör. dvs. alla

include filer blir inkluderad oavsett vad du skriver för kod, det finns ingen pre-compiler kod för asp 3.0. Ett alternativ är server.execute se:

http://msdn.microsoft.com/library/default....70507db91a5.asp

Lenke til kommentar
2. include filer bör sluta med .asp, om de slutar med .inc så går de inte igenom asp-interepretatorn och om man känner till andressen till includesidan så skrivs den ut som ren text i browsern. man kan också ställa in iis att intrepretera inc filer men det är lite överkurs.

 

jeg har lært at en ikke skal bruke asp i slutten av filnavnet på slutten av filer en inkluderer. dessuten blir inc-filer en del av asp-filen når de er inkludert. hvis en ikke vil at uvedkommende skal se filer en inkluderer gjør en sikkerhetstiltak for å hindre dette...

Lenke til kommentar

både filer du inkluderer til php og asp bør hete hhv .asp og .php. En av grunnene til dette er sikkerhet. Har du ikke 100% kontroll over konfigurasjonen av serveren kan noen laste ned en incl-fil, uten at denne "parses" av serveren. er det lagret som en asp eller php vil ikke serveren godta at nen laster ned filen "rå".

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...