Man kan, men det suger. Man måste då begränsa sig till endast asp-kod i det man vill köra (dvs inga kontext-svitsjar eller annat bövelskap). Man kan då använda sig av execute(), executeglobal() eller eval().
Nu har du iaf några nya sökord. :)
3 svar · 591 visningar · startad av Mika3l
Chips!
Jag har en hemsida som hämtar sidor från en databas och visar. På några av sidorna vill jag använda mig av några få ASP-koder men ingen av dessa körs utan skrivs istället ut direkt på sidan (jag använder inte HTMLEncode). Kan jag på något sätt göra så att de körs? De ligger i ett text-fält i en MySQL-databas.
Koden jag använder:
Function fixpic(strValue)
With New RegExp
.Global = True
.IgnoreCase = True
.Pattern = "\[img=([1-9]\d*)\]"
Set vMatches = .Execute(strValue)
For Each Match in vMatches
iid = Match.SubMatches(0)
Set rs = Connection.Execute("SELECT f_title_" & lang & " FROM tblGallery WHERE f_iid = " & iid)
If NOT rs.EOF Then
strValue = Replace(strValue, Match, "<a rel=""shadowbox[content_img];options={counterType:'skip',continuous:true,animSequence:'s ync'}"" href=""images/gallery/fullsize/" & iid & ".jpg"" title=""" & rs("f_title_" & lang) & """><img src=""images/gallery/thumbs/" & iid & "_thumb.jpg?cache=" & int(rnd*1000000) & """ style=""border: 1px solid #000000; margin-bottom: 5px;"" /></a>")
End If
Next
End With
fixpic = strValue
End Function
Set rs = Server.CreateObject("ADODB.Recordset")
If intId = 0 Then
SQL = "SELECT f_title_" & lang & ",f_content_" & lang & " FROM tblContent WHERE f_start_" & lang & " = 1"
Else
SQL = "SELECT f_title_" & lang & ",f_content_" & lang & " FROM tblContent WHERE f_cid = " & intId
End If
rs.Open SQL, Connection
If rs.EOF Then
'kolla vilket språk som körs! - felaktigt id eller finns ej på språket!
Response.Write("-Felaktig sidangivelse! Var god se över den angivna adressen (till exempel ett gammalt bokmärke).<br /><br />")
'Response.Write("Incorrect page indicator! Please, check the stated url (for example an old bookmark).")
Else
If rs("f_title_" & lang) = "" Then
'kolla språk!
Response.Write("Sidan finns inte på det begärda språket")
Else
Response.Write("<h1>" & rs("f_title_" & lang) & "</h1>")
If rs("f_content_" & lang) <> "" Then
Response.Write(fixpic(Replace(rs("f_content_" & lang),"\'","'")))
End If
End If
End If
rs.Close : Set rs = Nothing
%>
Man kan, men det suger. Man måste då begränsa sig till endast asp-kod i det man vill köra (dvs inga kontext-svitsjar eller annat bövelskap). Man kan då använda sig av execute(), executeglobal() eller eval().
Nu har du iaf några nya sökord. :)
Gah, det sög ju rätt hårt :P
Men tack för din hjälp iaf :)