På sidan jag håller på med nu så ska man kunna ha en egen presentation, denna fyller man i genom ett formulär. Om någon skriver in tex. "<table>" så läser sidan sedan av det som vanlig html kod och sidan blir "förstörd" Hur ska jag göra för att förhindra det? Kör en sök och ersätt. Enklast är att göra om texten innnan den sparas i databasen. Löste det med: Ok, Bra! Men som sagt bör man skydda sin databas mot sk. SQL Inject genom att ta bort ' och " ur inmatad text om denna används i en SQL-fråga.HTML i formulär
Sen så undrar jag hur man gör så att om man trycker på enter (nyrad) i presentation-formuläret så ska det vara nyrad där när man sedan skriver ut presentationen på deras egna sidor så att säga. Just nu så måste jag skriva "<br>" för att få nyrad i formuläret...
Jag använder mig utav ASP och Access
*edit
Jag sökte lite i forumet och hitta lösningen till radbrytningen tror jag :> Men skulle även behöva hjälp med hur man "inaktiverar" html koden..Sv: HTML i formulär
Ersätt alla < med < i texten, gärna även > med > och & med &
Ersätt även radbrytningar med <br>.Sv: HTML i formulär
<code>presentation = Request.Form("presentation")
presentation = Replace(server.HTMLEncode(presentation),vbCrlf,"<br>")
Response.Write(presentation)</code>
Men det finns nackdelar med detta, tex. så blir det mindre bra när man ska redigera texten i ett senare läga. Allts kanske bättre att formatera vid presentation och ha kvar texten som den skrevs i databasen. Man bör dock alltid ta bort skadlig kod innan den behandlas i en SQL-fråga (ex. SQL inject).
<code>text = Replace(Trim(text), "'", "''")
text = Replace(text, """", """)</code>Sv: HTML i formulär
presentation = Request.Form("presentation")
presentation = Replace(server.HTMLEncode(presentation),vbCrlf,"<br>")
Response.Write(presentation)
Fast jag gjorde det när jag skrev ut presentationen.Sv: HTML i formulär