Avatar billede miwu.tk Nybegynder
01. juli 2003 - 11:17 Der er 14 kommentarer og
1 løsning

Hjælp til html.encode

Jeg har problemer med at bruge html.encode af en eller anden grund! Men det skyldes nok mest jeg ikke ved hvor den skal sættes ind i mit script! Jeg har lavet en tagwall hvor både indfyldningsform og tags er på samme fil! Hvis I forstår hvad jeg mener! (se eksempel: frip.dk/miwu)

Udover det har jeg så prøvet at lave et replace script istedet for som ser således ud:

tmpString = Replace(server.htmlencode(origString), \"<\", \"&lt;"\">\")

tmpString = Replace(server.htmlencode(origString), \">\", \"&gt;"\">\")

men det lader til at det heller ikke virker!!

og sidst men ikke mindst kunne jeg godt tænke mig at vide om asp ikke kan bruge andre slags databaser end access??? Da jeg nemlig gerne vil bikse en billed uploading sammen med asp!

Det var måske en stor bid? Men jeg vil på forhånd gerne sige tak til dem der gider hjælpe! :)


/A..
- miwu.tk
Avatar billede eagleeye Praktikant
01. juli 2003 - 17:34 #1
Server.HTMLencode laver HTML format karakter som < om til &lt; og > til &gt; og så vidre.. Så det skulle være nok at skrive:

tmpString = Server.HTMLencode(origString)
Response.Write tmpString


andre slags databaser end access???
ASP kan connecte til stort set alle databaser som findes bare der findes en ODBC driver til den, som er installeret på den server ASP koden køre. Det som man laver om er så ConnectionStringen til databasen og så rette de enkelte SQL afhængige ting TOP vs. LIMIT mm.
Se disse links for de forskillige connection string og database type:
http://www.connectionstrings.com
http://www.able-consulting.com/ADO_Conn.htm
Avatar billede eagleeye Praktikant
01. juli 2003 - 17:35 #2
Husk Server.HTMLencode fjerne ikke HTML tages den disabler dem bare. Så man kan se dem som ren tekst.
Avatar billede miwu.tk Nybegynder
01. juli 2003 - 19:26 #3
jeg er lidt dum til sådan noget, men skal html.encode så på min "udskrift"?? Altså den side som så lægger al min data ud?

kildekoden til min data udskrift:

<%
    ' Databaseforbindelse - husk at angive sti til din database
    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath("wall.mdb")
       
        Conn.Open DSN
        strSQL = "Select * from wall order by id desc"
        Set rs = Conn.Execute(strSQL)

   
     
Do
   
      Response.Write "<br><b>" & rs("dato") & "</b><br>"
      Response.Write "Denne tag har id: <b>" & rs("ID") & "</b><br><br>"
      Response.Write rs("tag") & "<br><br>"
      Response.Write "<i> <b> skrevet af " & rs("navn") & "</i></b><br><br><hr>"
           

          rs.MoveNext

        Loop While Not rs.EOF

        Conn.Close
        Set Conn = Nothing
%>
Avatar billede eagleeye Praktikant
01. juli 2003 - 19:32 #4
Det er vel denne kolonne som skal bruger Server.HTMLencode:  rs("tag")

Så prøv at rette:
Response.Write rs("tag") & "<br><br>"

til dette:

Response.Write Server.HTMLencode(rs("tag")) & "<br><br>"
Avatar billede miwu.tk Nybegynder
01. juli 2003 - 19:35 #5
fair nok :) tænkte på om det måske kunne være muligt kun at tillade visse html'er, som fx <b> <i> <u> og små andre effekt tags?
Avatar billede eagleeye Praktikant
01. juli 2003 - 19:40 #6
Ja, så skal man enten lave nogle koder for <b> og <i> og <u> hvis Server.HTMLencode skal bruges eks.vis [b] og [i] osv også så lave en replace som efter Server.HTMLencode laver [b] om til HTML tags <b>

Eller lave en function som helt fjerne de ulovlige tags som denne, hovr man kan tillade nogle tags:
http://www.eagleeye.dk/asp/removehtml/default.asp
Avatar billede miwu.tk Nybegynder
01. juli 2003 - 19:43 #7
ok, mange tak for hjælpen! Jeg har spurgt rigtig mange om hjælp, men det har de aldrig gidet, så det var på tide nogen gad :) mange tak!! hehe... frip.dk/miwu
Avatar billede miwu.tk Nybegynder
01. juli 2003 - 19:52 #8
endnu en lille ting som jeg arbejder lidt med er forms! jeg har problemer med at få hele værdien fra et felt i min db til at stå på et tekstfelt!

dvs. hvis mit tekstfelt nu skal hente data fra min db og værdien er "hej hej" så vil der kun stå hej i tekstfeltet! nogen svar på det?
Avatar billede miwu.tk Nybegynder
01. juli 2003 - 19:56 #9
og liiiige én ting til! af en eller anden grund kan jeg ikke skrive aprostroffer / '  i min tagwall... nogen grund til dette?
Avatar billede eagleeye Praktikant
01. juli 2003 - 20:15 #10
' er skal via SQL laves om til to '' for at undgå fejl i SQL sætningen. Det er fordi SQL bruger ' som start/slut på en streng, men skriver man to efter minanden '' tolkes det som en rigtig ' i en streng.

str = replace(Request.Form("tag"), "'", "''")

SQL = "INSERT INTO xxx (tag) VALUES ('" & str & "')"
Avatar billede miwu.tk Nybegynder
01. juli 2003 - 20:16 #11
dvs. at den skal tilføjes i den fil som gemmer ind i db'en! ikke? :D
Avatar billede miwu.tk Nybegynder
01. juli 2003 - 20:20 #12
sådan har selv fundet ud af det! hehe, tak for al hjælpen! håber at de 100 pt var belønning nok? ;)
Avatar billede miwu.tk Nybegynder
01. juli 2003 - 20:23 #13
hov!! det du fortalte mig virker desværre kun delvist! Hvis jeg laver to ' så kommer der kun et frem. Men hvis jeg så skriver ét ' opstår der en fejlmelding:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''html'er')'.

/miwu/tagwall/gem.asp, line 30
Avatar billede eagleeye Praktikant
01. juli 2003 - 20:26 #14
Når du ligger det i databasen skal du lave et ' om til to '' med den replace som vist.
Avatar billede miwu.tk Nybegynder
01. juli 2003 - 20:28 #15
ok, tak
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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