Avatar billede steen_hansen Forsker
07. april 2002 - 14:42 Der er 24 kommentarer og
1 løsning

<% %> bliver set som kode

Hver gang jeg forsøger at poste noget med

<%

response.write .....

%>

bliver det ikke vist, altså textboksen ser det som kode. Hvad skal jeg gøre for, at man kan skrive det?

Alt uden om <% %> bliver vist godt nok.
07. april 2002 - 14:45 #1
Hmm... det forstår jeg ikke?

Response.Write("udskriver") altid, hvis der er ASP på. Eller ? Har du et eksempel?
Avatar billede steen_hansen Forsker
07. april 2002 - 14:47 #2
Ok, jeg har oprettet en formular, som folk kan indtaste i. Her er der både tekstbokse og tekstbokse med rullepanel. Forsøger man at poste et indlæg, som bliver gemt i en Access-database, f.eks.:

<%

response.write ..... et eller andet

%>

- så vil det der står mellem <% %> ikke blive vist, eftersom siden tror, at der er tale om et stykke kode.
Avatar billede steen_hansen Forsker
07. april 2002 - 14:49 #3
Dette er mit indlæg. Her skriver jeg en masse. Her kommer noget programkode:

<%

response.write ..... et eller andet

%>

Jeg fortsætter mit indlæg nedenunder.

DER BLIVER VIST:

Dette er mit indlæg. Her skriver jeg en masse. Her kommer noget programkode:







Jeg fortsætter mit indlæg nedenunder.
Avatar billede steen_hansen Forsker
07. april 2002 - 14:50 #4
Dvs. siden inkluderer det, der står mellem <% %> i mit indlæg, som programkode.
07. april 2002 - 14:50 #5
Ok nu er jeg ikke hardcore til ASP, men du kan vel lave en funtion som  tjekker om det indholder: < & >, og erstatte det med & lt; & gt; (minus de 2mellemrum da eksperten laver "fejl" i ISO tegnsæt, &omega; ).

Ellers er det nok noget al'a htmlentries (i PHP), til ASP?
Avatar billede steen_hansen Forsker
07. april 2002 - 14:51 #6
Det er ASp
Avatar billede steen_hansen Forsker
07. april 2002 - 14:52 #7
Ok, xzxzx-kan-ikke-logge, jeg vil afvente et præcist svar :o)
Avatar billede excession Nybegynder
07. april 2002 - 19:54 #8
dinVariable = Replace(dinVariable, "<", "&lt;")
dinVariable = Replace(dinVariable, ">", "&gt;")

-- xs
Avatar billede jacob_hs Nybegynder
07. april 2002 - 20:18 #9
Du kan bruge "server.htmlencode" Her er et eksempel:
---test.asp start---
<%
Response.Write server.htmlencode(Request.Form("teksten"))
%>

<form action="test.asp" method="post" name="form">
Skriv teksten <TEXTAREA rows="15" cols="100" name="teksten">Teksten</textarea>
<input type="submit" name="submit" value="Send">
</form>
---test.asp slut---

Håber det kan løse dit problem.
Avatar billede apollo Nybegynder
07. april 2002 - 20:26 #10
må jeg den kode?
Avatar billede excession Nybegynder
07. april 2002 - 21:12 #11
hov.. så lige det jeg havde skrevet er blevet lavet om til HTML..

dinVariable = Replace(dinVariable, "<", "& lt;") ' fjern mellemrum mellem & og lt;
dinVariable = Replace(dinVariable, ">", "& gt;") ' fjern mellemrum mellem & og gt;



-- xs
Avatar billede wilweb Nybegynder
07. april 2002 - 22:30 #12
Hvis dette her ikke virker, så ved jeg sgu snart ikke hvad der er galt.

'udskriver Variabel A = (værdien af A)
<%
response.write "Variabel A = " & A
%>
Avatar billede excession Nybegynder
07. april 2002 - 22:35 #13
?
Avatar billede wilweb Nybegynder
07. april 2002 - 22:42 #14
excession: Høø er det en kommentar til mig eller er det bare et 'jeg venter på replay'?
Avatar billede excession Nybegynder
07. april 2002 - 22:45 #15
til dig :)
Avatar billede wilweb Nybegynder
07. april 2002 - 22:50 #16
ÅK, og det betyder? :>
Avatar billede bernhof Nybegynder
07. april 2002 - 23:00 #17
<%
Function EscHTML(str)
    If Not IsNull(str) Then
        str = Replace(str,"&","&amp;")
        str = Replace(str,"<","&lt;")
        str = Replace(str,">","&gt;")
        str = Replace(str,Chr(34),"&quot;")
    End If
   
    EscHTML = str
End Function
%>

Indsæt denne funktion i bunden af dit ASP dokument.
Når du henter fra databasen skriver du således:

Response.Write EscHTML(RS("kommentar"))

Det burde løse alle fremtidige problemer mht. kode i databasen.
Avatar billede bernhof Nybegynder
07. april 2002 - 23:02 #18
hmm .. irriterende at Eksperten konverterer html-kode...
jeg prøver igen:

<%
Function DoEscape(str)
    If Not IsNull(str) Then
        str = Replace(str,"&","& amp;") 'fjern mellemrum mellem & og amp;
        str = Replace(str,"<","& lt;") 'fjern mellemrum mellem & og lt;
        str = Replace(str,">","& gt;") 'fjern mellemrum mellem & og gt;
        str = Replace(str,Chr(34),"&quot;") 'fjern mellemrum mellem & og quot;
    End If
   
    DoEscape = str
End Function
%>
Avatar billede bernhof Nybegynder
07. april 2002 - 23:03 #19
PIS!!

Det her holder sq ikke ... jeg har sendt dig en mail, steen!
Avatar billede steen_hansen Forsker
07. april 2002 - 23:04 #20
Sorry, jeg har ikke set på alle Jeres endnu. Kigger på det i morgen, er det ok? :o)
Avatar billede bernhof Nybegynder
08. april 2002 - 18:54 #21
Response.Write DoEscape(RS("kommentar"))

skulle der stå! :)
Avatar billede excession Nybegynder
19. april 2002 - 00:24 #22
har du fået det til at virke nu?

-- xs
Avatar billede excession Nybegynder
21. april 2002 - 15:00 #23
skal vi ikke få afsluttet spørgsmålet?
Avatar billede steen_hansen Forsker
21. april 2002 - 15:28 #24
Ikke endnu, excession. Dels har jeg ikke været meget hjemme, og dels har jeg ikke fået det til at virke. Nok fordi jeg ikke har været så meget hjemme :o)
Avatar billede steen_hansen Forsker
10. maj 2002 - 16:21 #25
mikbj, det virkede ikke helt efter hensigten. Har du andre forslag?
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