/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Problem med eksempler fra bog
Fra : Kurt G


Dato : 10-11-07 17:32

Jeg har prøvet at køre nogle eksempler fra bogen "ASP" af Christoph Wille og
Christian Koller fra forlaget IDG.

I eksempel 5.4 er der et par linier:
20. <FORM action= <% Request.ServerVariables("SCRIPT_NAME") %> method=post>
21. Rate this site ....

Når jeg kører det, viser skærmen:
method=post> Rate this site ....

method=post skulle jo ikke med.
Jeg har kontrolleret, om jeg har lavet fejl ved afslriften. men ingen fejl
fundet!

Hvad er der galt?

Er bogen forældet, er det en forkert ASP-fortolker eller hvad; jeg har været
ude for flere af den slags fejl ved eksemplerne!

Mvh Kurt



 
 
Rune Jensen (10-11-2007)
Kommentar
Fra : Rune Jensen


Dato : 10-11-07 19:30

"Kurt G" skrev...

> Jeg har prøvet at køre nogle eksempler fra bogen "ASP" af Christoph Wille
> og Christian Koller fra forlaget IDG.
>
> I eksempel 5.4 er der et par linier:
> 20. <FORM action= <% Request.ServerVariables("SCRIPT_NAME") %>
> method=post>
> 21. Rate this site ....
>
> Når jeg kører det, viser skærmen:
> method=post> Rate this site ....
>
> method=post skulle jo ikke med.
> Jeg har kontrolleret, om jeg har lavet fejl ved afslriften. men ingen fejl
> fundet!
>
> Hvad er der galt?

Ret til
<FORM action='<%=Request.ServerVariables("SCRIPT_NAME") %'> method=post>

<%= er en shorthand form af response.write
Må man godt iøvrigt godt skrive sådan uden apostroffer?

MVH
Rune Jensen



Rune Jensen (10-11-2007)
Kommentar
Fra : Rune Jensen


Dato : 10-11-07 19:33

"Rune Jensen" skrev...

> Ret til
> <FORM action='<%=Request.ServerVariables("SCRIPT_NAME") %'> method=post>
>
> <%= er en shorthand form af response.write

Æv. Det rigtige er
<FORM action=<%=Request.ServerVariables("SCRIPT_NAME") %>

Apostrofferne - de manglende - forvirrede mig Troede det var i gamle
dage, man måtte gøre sådan, men det er åbenbart stadig gyldigt

MVH
Rune Jensen



Kurt G (10-11-2007)
Kommentar
Fra : Kurt G


Dato : 10-11-07 19:49

> "Rune Jensen" skrev...
>
>> Ret til
>> <FORM action='<%=Request.ServerVariables("SCRIPT_NAME") %'> method=post>
>>
>> <%= er en shorthand form af response.write

Men der står:
= <% Request
og ikke
=<%= Request

> Æv. Det rigtige er
> <FORM action=<%=Request.ServerVariables("SCRIPT_NAME") %>
>
> Apostrofferne - de manglende - forvirrede mig Troede det var i gamle
> dage, man måtte gøre sådan, men det er åbenbart stadig gyldigt

Det forstår jeg ikke?

Mvh Kurt



Rune Jensen (10-11-2007)
Kommentar
Fra : Rune Jensen


Dato : 10-11-07 20:09

"Kurt G" skrev...

> Men der står:
> = <% Request
> og ikke
> =<%= Request

Ja... og derfor er det eneste, som sker i dit eksempel, at der bliver lavet
en request. Der sker ikke videre med den. Den skal jo udskrives også.

response.write
og
<%=
er det samme, det udskriver det efterfølgende. Derfor skal du have det = med
også, så burde det virke.

>> Æv. Det rigtige er
>> <FORM action=<%=Request.ServerVariables("SCRIPT_NAME") %>
>>
>> Apostrofferne - de manglende - forvirrede mig Troede det var i gamle
>> dage, man måtte gøre sådan, men det er åbenbart stadig gyldigt
>
> Det forstår jeg ikke?

Fordi jeg er vant til, at alt skal i apostroffer. Jeg bruger xhtml strict,
som er en af de nyere versioner af HTML, og der er det ikke gyldigt at bruge
store bogstaver til f.eks. FORM, det skal skrive form, og det er heller ikke
lovligt ikke at indhegne din action i . Men det har ikke noget at gøre med
ASP, men HTML og Doc Type-erklæring. Jeg undrede mig lidt over det, fordi
det er så lang tid siden, jeg har set den form, du citerer, og da du spør,
om bogen er gammel, så fik jeg mine mistanker om, at det kunne den være. Men
dermed ikke være sagt, det ikke er lovligt HTML-kode - bare en gammel måde
at kode på.

Men dit script - virker det, hvis du indsætter det =
?


MVH
Rune Jensen



Rune Jensen (10-11-2007)
Kommentar
Fra : Rune Jensen


Dato : 10-11-07 20:14


"Rune Jensen" skrev...
> "Kurt G" skrev...
>
>> Men der står:
>> = <% Request
>> og ikke
>> =<%= Request

Ar, nu ved jeg hvad, du mener.

OK, du skal skelne mellem din ASP og din HTML. Det, du ser her er hele
koden, før den bliver fortolket af serveren. Og dette

<%

Angiver, at nu vil du kode ASP, og ikke HTML.

Ligesom at dette

%>

angiver, at nu går du ud af ASP igen

Derfor er de to = hvert sit sted i hver sin kode, og har ikke nødvendigvis
samme betydning. De er jo på hver sin side af <%

Ser du?


MVH
Rune Jensen



Rune Jensen (10-11-2007)
Kommentar
Fra : Rune Jensen


Dato : 10-11-07 20:43

"Rune Jensen" skrev...

> Ar, nu ved jeg hvad, du mener.

Prøv at læse dette, som er bedre forklaret end min forklaring

http://www.w3schools.com/asp/asp_ref_response.asp

MVH
Rune Jensen



Kurt G (10-11-2007)
Kommentar
Fra : Kurt G


Dato : 10-11-07 21:13

"Rune Jensen" <runeofdenmark@hotmail.com> skrev i en meddelelse
news:47360059$0$15012$456a7185@news.cirque.dk...

> Men dit script - virker det, hvis du indsætter det =

Nej, det giver blot
method=p0st> Bedøm ....

Jeg prøver at læse den anbefalede litteratur!

Men lige en ting, som nok er under Basic-progrtammering:
Jeg vil gerne have lavet et CRLF inde i en tekststreng, som ligger i en
variabel. Hvad skriver man?

Mvh Kurt



Rune Jensen (10-11-2007)
Kommentar
Fra : Rune Jensen


Dato : 10-11-07 21:56

"Kurt G" skrev...

> "Rune Jensen" <runeofdenmark@hotmail.com> skrev i en meddelelse

> Nej, det giver blot
> method=p0st> Bedøm ....

Kan du prøve at poste koden igen, som den er nu - og har du et link til
siden?


> Jeg prøver at læse den anbefalede litteratur!

Hvis ikke w3schools kan hjælpe nu - så bare vent til senere, det skal nok
komme, den er genial


> Men lige en ting, som nok er under Basic-progrtammering:

Hmm... men kan vidst også blive temmelig komliceret - prøv f.eks. at søge på
vbCrLf og chr(10) og chr(13) og så string


> Jeg vil gerne have lavet et CRLF inde i en tekststreng, som ligger i en
> variabel. Hvad skriver man?

vbCrLf er det samme som chr(10)+chr(13), så vidt jeg har kunnet skimme mig
frem til.

Det kommer jo an på, hvad din tekst streng skal bruges til? Er det
brugerinputs, du skal validere?


MVH
Rune Jensen



Kurt G (10-11-2007)
Kommentar
Fra : Kurt G


Dato : 10-11-07 22:03

"Rune Jensen" <runeofdenmark@hotmail.com> skrev i en meddelelse
news:47361980$0$15002$456a7185@news.cirque.dk...
> "Kurt G" skrev...
>
>> "Rune Jensen" <runeofdenmark@hotmail.com> skrev i en meddelelse
>
>> Nej, det giver blot
>> method=post> Bedøm ....
>
> Kan du prøve at poste koden igen, som den er nu - og har du et link til
> siden?

Ja, den har jeg ikke mere, jeg prøvede lige
<FORM action="<%= Request.ServerVariables("SCRIPT_NAME") %>" method="post">
og den gav
" method="post"> Bedøm ....
--------klip--------
>> Men lige en ting, som nok er under Basic-progrtammering:
>
> Hmm... men kan vidst også blive temmelig komliceret - prøv f.eks. at søge
> på vbCrLf og chr(10) og chr(13) og så string

OK

>> Jeg vil gerne have lavet et CRLF inde i en tekststreng, som ligger i en
>> variabel. Hvad skriver man?
>
> vbCrLf er det samme som chr(10)+chr(13), så vidt jeg har kunnet skimme mig
> frem til.
>
> Det kommer jo an på, hvad din tekst streng skal bruges til? Er det
> brugerinputs, du skal validere?

Nej, det er data fra nogle felter i en tilmeldingsblanket, som skal
anbringes i en mail. Umiddelbart kommer alle felterne ud i een lang smøre,
når jeg lægger strengene sammen. Det vil lette læsbarheden, hvis de kom på
hver deres linie!

Kurt



Rune Jensen (10-11-2007)
Kommentar
Fra : Rune Jensen


Dato : 10-11-07 22:24

"Kurt G" skrev i en meddelelse...
> "Rune Jensen" skrev

>> Kan du prøve at poste koden igen, som den er nu - og har du et link til
>> siden?
>
> Ja, den har jeg ikke mere, jeg prøvede lige
> <FORM action="<%= Request.ServerVariables("SCRIPT_NAME") %>"
> method="post">
> og den gav
> " method="post"> Bedøm ....

Det er fordi du ikke escaper din apostrof (tror, det er det rigtige ord),
men... i HTML kan du bruge ' i stedet for "
Men kun i HTML, for ASP accepterer alene ". Derfor:

<FORM action='<%= Request.ServerVariables("SCRIPT_NAME") %>' method="post">

....hvad jeg så ikke forstår, det er, at du ikke får en script-fejl, så. Har
du lidt mere af koden - hvis den ikke fylder det helt store, kan du så poste
det hele, eller lægge den i en txt-fil på din server?


MVH
Rune Jensen



Kurt G (10-11-2007)
Kommentar
Fra : Kurt G


Dato : 10-11-07 23:29

"Rune Jensen" <runeofdenmark@hotmail.com> skrev i en meddelelse
news:47362018$0$14996$456a7185@news.cirque.dk...

> Det er fordi du ikke escaper din apostrof (tror, det er det rigtige ord),
> men... i HTML kan du bruge ' i stedet for "
> Men kun i HTML, for ASP accepterer alene ". Derfor:
>
> <FORM action='<%= Request.ServerVariables("SCRIPT_NAME") %>'
> method="post">

Med denne linie virker det OK.

> ...hvad jeg så ikke forstår, det er, at du ikke får en script-fejl, så.
> Har
> du lidt mere af koden - hvis den ikke fylder det helt store, kan du så
> poste
> det hele, eller lægge den i en txt-fil på din server?

Hele koden fra bogen ser således ud:

<%@LANGUAGE="VBSCRIPT"%>
<%Option Explicit
Response.expires = 0
Dim strRate, nRate, blnSuccess
if Request.ServerVariables("CONTENT_LENGTH") <> 0 Then
strRate = Trim(Request.Form("rate"))
If isNumeric(strRate) Then 'Tal
nRate = CInt(strRate)
If 1 <= nRate AND 10 >= nRate Then
blnSuccess = True
End If
End If
If blnSuccess = True Then
Response.Write("Tak for din bedømmelse til " & nRate)
Else
Response.Write("Bedømmelsen skal være mellem 1 og 10")
End If
End If %>
<br>
<FORM action="<%= Request.ServerVariables("SCRIPT_NAME") %>" method="post">
Bedøm denne side mellem 1 og 10: (Her er der oprindelig engelsk tekst)
<input type="text" name="rate" value="5"><br><br>
<input type="Submit" Name = "submit" Value="Submit Form">
</form>

Bogen er skrevet i 1999 og oversat til dansk i 2000. Jeg troede ikke, at de
så hurtigt blev forældede!
Og det er da ærgerligt at bruge tid på nogle eksempler, som ikke virker, og
derefter ulejlige andre med det!

Men mange tak for hjælpen, nu ved jeg da lidt mere!!!

Mvh Kurt




Philip Nunnegaard (10-11-2007)
Kommentar
Fra : Philip Nunnegaard


Dato : 10-11-07 23:55

> Bogen er skrevet i 1999 og oversat til dansk i 2000. Jeg troede ikke, at
> de så hurtigt blev forældede!

Både og. xHTML kom vidst netop lige omkring 1999 plus/minus et år.
Forgængeren, html 4, kom i 1997.
Allerede da var det dog lovligt at skrive html-tags med små bogstaver, så
jeg fatter ikke, at lærebøger og online-tutorials selv fra 1999/2000 stadig
insisterede på upper case.

Men moderne kode eller ej, så burde det ikke have nogen indflydelse på dit
problem.

<form action="<%= Request.ServerVariables("SCRIPT_NAME") %>" method="post">
Dette giver absoult ingen problemer, når jeg tester det hos mig selv.

Tjekker jeg kildekoden, får jeg dette output:
<form action="/test/index.asp" method="post">
....hvor /test/index.asp er dén fil, som formularen ligger i.

Du kan evt. lige prøve at se, hvad du får på skærmen, hvis du et sted på din
side skriver:
<% response.write Request.ServerVariables("SCRIPT_NAME") %>



Jørn Andersen (11-11-2007)
Kommentar
Fra : Jørn Andersen


Dato : 11-11-07 02:13

On Sat, 10 Nov 2007 23:28:45 +0100, "Kurt G" <kurt_g@guldbaek.net>
wrote:

>Hele koden fra bogen ser således ud:

Og den virker fint hos mig.
Direkte copy-pastet uden ændringer.


Mvh. Jørn

--
Jørn Andersen,
Brønshøj

Rune Jensen (11-11-2007)
Kommentar
Fra : Rune Jensen


Dato : 11-11-07 02:56

Jørn Andersen" <skrev...
> On Sat, 10 Nov 2007 23:28:45 +0100, "Kurt G"
> wrote:
>
>>Hele koden fra bogen ser således ud:
>
> Og den virker fint hos mig.
> Direkte copy-pastet uden ændringer.

....og det bør den så også, når der er det lille = med



....nogen, som ved, hvad SCRIPT_NAME og CONTENT_LENGHT betyder? Jeg har været
inde på w3schools for at tjekke, men det står mig ikke lysende klart,
hvordan de bruges.


MVH
Rune Jensen



Jens Gyldenkærne Cla~ (11-11-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 11-11-07 23:15

Rune Jensen skrev:

> ...nogen, som ved, hvad SCRIPT_NAME

Navnet på din asp-side (inkl. sti, men eksklusiv servernavn og evt.
querystring).

> og CONTENT_LENGHT betyder?

Størrelsen (i bytes) af indholdet i dokumentet (den generede html-
kode, eller - hvis det er ved modtagelse af formdata - størrelsen
af den modtagne form-collection.

--
Jens Gyldenkærne Clausen
»Diplomatiet består netop i, at de gamle kommatister kan få lov til
at tro, at de har vundet. Men i virkeligheden har de tabt.«
Ole Togeby i Information

Rune Jensen (12-11-2007)
Kommentar
Fra : Rune Jensen


Dato : 12-11-07 00:01

"Jens Gyldenkærne Clausen" skrev...
> Rune Jensen skrev:
>
>> ...nogen, som ved, hvad SCRIPT_NAME
>
> Navnet på din asp-side (inkl. sti, men eksklusiv servernavn og evt.
> querystring).

Det troede jeg så URL var til. Så hvis du har
domæne.dk/directory/fil.asp?variabel=1

så bliver en request på SCRIPT_NAME til

directory/fil.asp

?

....for jeg har nemlig brugt URL nogle steder, og ind i mellem, lader det
til, den kun får stien med, som ovenfor.


>> og CONTENT_LENGHT betyder?
>
> Størrelsen (i bytes) af indholdet i dokumentet (den generede html-
> kode, eller - hvis det er ved modtagelse af formdata - størrelsen
> af den modtagne form-collection.

Det er smart... Hvis jeg nu bruger det i en include, viser den så samlet
størrelse på filerne eller kun størrelsen på den includede fil? Dén må jeg
lige tjekke


MVH
Rune Jensen



Jørn Andersen (12-11-2007)
Kommentar
Fra : Jørn Andersen


Dato : 12-11-07 22:16

On Mon, 12 Nov 2007 00:00:46 +0100, "Rune Jensen"
<runeofdenmark@hotmail.com> wrote:

>>> og CONTENT_LENGHT betyder?
>>
>> Størrelsen (i bytes) af indholdet i dokumentet (den generede html-
>> kode, eller - hvis det er ved modtagelse af formdata - størrelsen
>> af den modtagne form-collection.
>
>Det er smart... Hvis jeg nu bruger det i en include, viser den så samlet
>størrelse på filerne eller kun størrelsen på den includede fil? Dén må jeg
>lige tjekke

Iflg. W3Schools er det længden af det, som klienten sender.


Mvh. Jørn

--
Jørn Andersen,
Brønshøj

Jørn Andersen (12-11-2007)
Kommentar
Fra : Jørn Andersen


Dato : 12-11-07 22:14

On Sun, 11 Nov 2007 02:55:57 +0100, "Rune Jensen"
<runeofdenmark@hotmail.com> wrote:

>...nogen, som ved, hvad SCRIPT_NAME og CONTENT_LENGHT betyder?

http://www.w3schools.com/asp/coll_servervariables.asp

Denne kode lister dem alle:
For Each x in Request.ServerVariables
   Response.Write x & ": " & Request.ServerVariables(x) & "<br>" & vbcrlf
Next


Mvh. Jørn

--
Jørn Andersen,
Brønshøj

Rune Jensen (11-11-2007)
Kommentar
Fra : Rune Jensen


Dato : 11-11-07 03:06

"Kurt G" skrev...
> "Rune Jensen" skrev i en meddelelse

>> Det kommer jo an på, hvad din tekst streng skal bruges til? Er det
>> brugerinputs, du skal validere?
>
> Nej, det er data fra nogle felter i en tilmeldingsblanket, som skal
> anbringes i en mail. Umiddelbart kommer alle felterne ud i een lang smøre,
> når jeg lægger strengene sammen. Det vil lette læsbarheden, hvis de kom på
> hver deres linie!

Jeg har været inde og kigge i et af mine scripts - jeg bruger bare vbCrLf.
Du kan få lidt af scriptet her:

objMail.Body = "Hej, " & strName & vbCrLf & vbCrLf & "Tak for din
henvendelse via kontaktformen på [domæne]. Din meddelelse lyder:" & vbCrLf &
vbCrLf & Chr(34) & strQuery & Chr(34) & vbCrLf & vbCrLf & "Jeg svarer
tilbage hurtigst muligt" & vbCrLf & vbCrLf & "Med venlig hilsen" & vbCrLf
& "[navn]"

....det laver så de nødvendige linjeskift. Jeg kan ikke huske, i hvilken
forbindelse, man skal bruge chr(10) og chr(13), så godt nok.


MVH
Rune Jensen



Jørn Andersen (10-11-2007)
Kommentar
Fra : Jørn Andersen


Dato : 10-11-07 21:19

On Sat, 10 Nov 2007 19:33:18 +0100, "Rune Jensen"
<runeofdenmark@hotmail.com> wrote:

>"Rune Jensen" skrev...
>
>> Ret til
>> <FORM action='<%=Request.ServerVariables("SCRIPT_NAME") %'> method=post>
>>
>> <%= er en shorthand form af response.write
>
>Æv. Det rigtige er
><FORM action=<%=Request.ServerVariables("SCRIPT_NAME") %>
>
>Apostrofferne - de manglende - forvirrede mig Troede det var i gamle
>dage, man måtte gøre sådan, men det er åbenbart stadig gyldigt

Svjh er det lovligt i HTML 4, men ikke i XHTML - men det er efter min
mening ikke særligt "pænt"

<FORM action="<%=Request.ServerVariables("SCRIPT_NAME") %>"
method="post">
- du fik sat slut-apostroffen forkert ( %'> )


Mvh. Jørn

--
Jørn Andersen,
Brønshøj

Kurt G (10-11-2007)
Kommentar
Fra : Kurt G


Dato : 10-11-07 21:35

"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
news:2u3cj35jt45pqj2jn7vsescfo7nbsla9b3@4ax.com...
> On Sat, 10 Nov 2007 19:33:18 +0100, "Rune Jensen"
> <runeofdenmark@hotmail.com> wrote:
>
>>"Rune Jensen" skrev...
>>
>>> Ret til
>>> <FORM action='<%=Request.ServerVariables("SCRIPT_NAME") %'> method=post>
-------KLIP--------
> - du fik sat slut-apostroffen forkert ( %'> )
Jeg er ret forvirret efterhånden.
Hvordan skal linien så være?

Kurt



Rune Jensen (10-11-2007)
Kommentar
Fra : Rune Jensen


Dato : 10-11-07 22:13

"Kurt G" skrev...

> Jeg er ret forvirret efterhånden.
> Hvordan skal linien så være?

Du har ret, ét skridt ad gangen. Lav linjen sådan her. Hvis det ikke virker,
så post koden igen, som den nu ser ud, for så må der være andre ting galt.
Og også gerne et link til din side, hvor scriptet er brugt.

<FORM action=<%=Request.ServerVariables("SCRIPT_NAME") %> method=post>


MVH
Rune Jensen



Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409080
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste