webForumDet fria alternativet

ASP-kod i MySQL-fält

ASP

3 svar · 591 visningar · startad av Mika3l

Medlem sedan nov. 20018 492 inlägg
Frågan#1

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
%>
Medlem sedan juni 200032 967 inlägg
#2

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. :)

Medlem sedan nov. 20018 492 inlägg
#3

Gah, det sög ju rätt hårt :P
Men tack för din hjälp iaf :)

Medlem sedan nov. 20018 492 inlägg
#4

Jag lyckades lösa det hela med hjälp av Ajax. :)

257 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)