Avatar billede peterpeter Seniormester
10. november 2003 - 23:31 Der er 20 kommentarer og
2 løsninger

Hvordan INCLUDE kommandoer i koden

Hej Alle

Kæmpe problem:

Jeg har en hjemmeside, med en masse forskellige sider. De er delt op i franske, engelske og danske sider.

På hjemmesiden er der også et betalingsmodul, ligeledes med sider på alle tre sprog.

Til betalingsmodulet hører en "kreditkort" side, hvor man angiver kortnummer, udløbsdato med mere.....

Denne side har jeg desværre kun én af - derfor er det nødvendigt for mig, at alt afhængig af hvilken side brugeren kommer fra (DK, GB eller F) - at han kun ser tekst med sit eget sprog.

Kreditkort siden hedder pay.asp og den skal vel kaldes med nogle include benævnelser ???

At lave include sider/filer kan jeg overhovedet ikke finde ud af !!!!

Så mit spørgsmål er:

1. Hvad skal jeg angive som links til pay.asp
og
2. Hvordan ser koden ud i pay.asp, når tekstindholdet skal være afhængigt af includekommandoerne der kommer fra linket ???

TAK - Håber mit spørgsmål er forståeligt, ellers vil jeg med glæde uddybe.
Avatar billede mm12010 Nybegynder
10. november 2003 - 23:38 #1
Sådan?

<%
LANGUAGE=Request.QueryString("lang")
If LANGUAGE = "DK" Then
%><!-- #include file="dinSprogfil_DK.asp" --><%
Else If LANGUAGE = "GB" Then
%><!-- #include file="dinSprogfil_GB.asp" --><%
Else If LANGUAGE = "F" Then
%><!-- #include file="dinSprogfil_F.asp" --><%
Else
%><!-- #include file="dinSprogfil_Standard.asp" --><%
End If
%>
Avatar billede peterpeter Seniormester
10. november 2003 - 23:47 #2
Øh nej....

Jeg går ud fra, at pay.asp filen skal kaldes nogenlunde sådan her:
pay.asp?sprog='dk'

..og inde i pay.asp filen, skal der så være noget kode, der alt afhængig af, om det er DK, GB eller F der føres over, skriver noget tekst forskellige steder på siden i det respektive sprog.
Er det sådan har man gør ??

If sprog = "DK" Then
Response.Write="Kreditkortnummer"

Else If sprog = "GB" Then
Response.Write="Paymentcardnumber"

osv.....

Men hvordan er det lige, det skal gøres nemmest og pænest ???


<!-- #include file="dinSprogfil_DK.asp" --><%
Else If LANGUAGE = "GB" Then
Avatar billede thesurfer Nybegynder
11. november 2003 - 00:08 #3
Link:

<a href="pay.asp?sprog=dk">DK</a>


ASP kode:

<%
select case LCase(request.querystring("sprog"))
case "dk"
%>
<!-- #include file="dinSprogfil_dk.asp" -->
<%
case "gb"
%>
<!-- #include file="dinSprogfil_gb.asp" -->
<%
case "f"
%>
<!-- #include file="dinSprogfil_f.asp" -->
<%
case else
%>
<!-- #include file="dinSprogfil_standard.asp" -->
<%
end select
%>


Select Case er hurtigere end IF-sætninger.

mm12010> Når du skal sammenligne 2 strenge, skal du huske at sætte dem i samme case, dvs entet store bogstaver ("UCase"), eller små bogstaver ("LCASE").

Fordi: "Dk" er ikke det samme som "DK" eller "dK".
Avatar billede peterpeter Seniormester
11. november 2003 - 00:13 #4
Alletiders, det ser vist rigtigt ud - MEN:

I stedet for at lave 4 include filer, kan jeg så ikke bare bruge response.write, de steder hvor der skal stå tekst ??

I bund og grund for kun at have én fil -> pay.asp

..og i bekræftende fald, hvordan skal det så se ud ??

Tak ;-)
Avatar billede thesurfer Nybegynder
11. november 2003 - 00:17 #5
Du erstatter bare <!-- #inclu... //-> linierne med den tekst du vil have at der skal stå ved de respektive lande.. f.eks. med response.write.
Avatar billede mm12010 Nybegynder
11. november 2003 - 00:18 #6
eller:

<%
select case LCase(request.querystring("sprog"))
case "dk"
Response.Write("Kreditkort#")
case "gb"
Response.Write("Creditcard#")
case "f"
Response.Write("Noget på fransk")
case else
Response.Write("Noget på et sprog alle kan forstå")
end select
%>
Avatar billede mm12010 Nybegynder
11. november 2003 - 00:19 #7
thesurfer >> ok, tak - jeg koder selv i JS, men jeg troede egentligt at det var ligemeget i VB...
Avatar billede peterpeter Seniormester
11. november 2003 - 00:21 #8
OK - Kan det også være en blanding af ASP og HTML der står inde i hver "case" ??

Min pay.asp side er nemlig 4-5 formfelter med tilhørende beskrivelse.
Avatar billede thesurfer Nybegynder
11. november 2003 - 00:21 #9
Når man sammenligner strenge er det case-sensitive (i de fleste sprog, vil jeg tro).. f.eks. i JavaScript, ASP, VB..
Avatar billede thesurfer Nybegynder
11. november 2003 - 00:22 #10
peterpeter> Ja.
Avatar billede mm12010 Nybegynder
11. november 2003 - 00:23 #11
<%
select case LCase(request.querystring("sprog"))
case "dk"
Response.Write("<strong>Kreditkort#</strong>")
'mere asp
case "gb"
Response.Write("<strong>Creditcard#</strong>")
'mere asp
case "f"
Response.Write("<strong>Noget på fransk</strong>")
'mere asp
case else
Response.Write("<strong>Noget på et sprog alle kan forstå</strong>")
'mere asp
end select
%>
Avatar billede thesurfer Nybegynder
11. november 2003 - 00:24 #12
By the way.. Fransk er "FR".. Finsk er "FI"..
Se evt: http://www.radio-on-the-internet.com/iso3166.php
Avatar billede peterpeter Seniormester
11. november 2003 - 00:24 #13
Alletiders..
..og er det, bare det ??

Der skal ikke nogen include i toppen eller lign. vel ?? (det syntes jeg, at jeg har set andre steder ??)

Er det lige til at sætte i værk, hvis jeg gør som jeres ovenstående eksempel ??
Avatar billede mm12010 Nybegynder
11. november 2003 - 00:29 #14
jepper, det er bare at klø på :o)
Avatar billede thesurfer Nybegynder
11. november 2003 - 00:30 #15
Jeg vil anbefale at du ALTID bruger Option Explicit i toppen (allerøverst) af dine asp filer.
Det gør at du altid skal definere dine variabler, og på den måde kan den finde stavefejl i variabelnavne, idet du bruger en navn den ikke kender.

Brug altid Option Explicit.
Avatar billede perj Nybegynder
11. november 2003 - 07:10 #16
Avatar billede peterpeter Seniormester
20. november 2003 - 23:04 #17
mm12010 og thesurfer ->

Tusind Tak, det var perfekt. Alt virker fint.

I får lige 30/30 - OK ? (Send lige et svar, så jeg med glæde kan uddele point til jer...)

TAK FOR HJÆLPEN  ;-)
Avatar billede mm12010 Nybegynder
21. november 2003 - 11:15 #18
selv tak :o)
Avatar billede thesurfer Nybegynder
21. november 2003 - 16:30 #19
Eet svar er sendt :)
Avatar billede thesurfer Nybegynder
18. december 2003 - 04:48 #20
Dette spørgsmål mangler input.
Det kan f.eks. være at spørgeren mangler at acceptere/afvise svar/komme med feedback, eller af en svarer mangler at lægge et svar/komme med feedback.
Avatar billede mm12010 Nybegynder
18. december 2003 - 15:51 #21
thesurfer >> ganske enig!-)
Avatar billede peterpeter Seniormester
27. december 2003 - 13:50 #22
Mange tak for hjælpen.
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
Kurser inden for grundlæggende programmering

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