webForumDet fria alternativet

Lägg till, ej skriva över i array med geteows

ASP

7 svar · 172 visningar · startad av KoTTeN

Medlem sedan sep. 20011 722 inlägg
Frågan#1

Håller på med ett forum och vid visning av inlägg hämtar jag först den aktuela tråden och sedan alla svar.
Nu är det så att jag skulle vilja spara båda dessa databasanrop i samma array. Har testat lite men inte kommigt någonstanns. Här är en kodsnutt från sidan:

Första hämtningen (av tråd)

SQL = "SELECT ForumInlID, ForumInlRubrik, ForumInlBrodtext, ForumKatID FROM ForumInl WHERE " & _ 
"ForumInlID = " & Request.QueryString("ForumInlID") & " AND SidID = " & Session("SidID") & ""
RecSet.Open SQL, Connect, 3, 3

Dim ArrForumInl
ArrForumInl = RecSet.getrows()

Andra hämtningen (av alla svar)

SQL = "SELECT ForumInlID, ForumInlRubrik, ForumInlBrodtext, ForumKatID FROM ForumInl WHERE " & _ 
"ForumInlSubID = " & Request.QueryString("ForumInlID") & " AND SidID = " & Session("SidID") & " ORDER BY ForumInlDatum" 
RecSet.Open SQL, Connect, 3, 3

ArrForumInl = RecSet.getrows()

Men i nuläget skrivs tråden över med svaren (ganska logiskt) men hur ska jag göra för att den ska börja på position 1 istället för 0?

Medlem sedan mars 20015 287 inlägg
#2

Kan du inte slå ihop allt till en sqlfråga i stället? (Inte för att jag vet hur en ska se ut iofs.)
Då kan du ju lätt få en "komplett" array.

Medlem sedan sep. 20011 722 inlägg
#3

Ja det kanske man skulle göra. Någon som har en idé på hur en sådan fråga skulle se ut?

Medlem sedan jan. 20032 285 inlägg
#4

Kanske något sånt här?

SQL = "SELECT ForumInlID, ForumInlRubrik, ForumInlBrodtext, ForumKatID FROM ForumInl " &_
"WHERE (ForumInlId = " & Request.QueryString("ForumInlId") & "" &_
" OR ForumInlSubId = " & Request.QueryString("ForumInlId") & ") " &_
"AND SidId = " & Session("SidID")
Medlem sedan sep. 20011 722 inlägg
#5

Tackar tackar!
Funkar fin fint!

Medlem sedan mars 20002 836 inlägg
#6

Att använda Request.QueryString direkt på detta viset UTAN några som helst checkar om det är ett giltigt värde öppnar för sql-injections.

Vad händer om någon "klåfingrig" ändrar i querystringen?

Det rätta borde vara att göra så här:

intForumInlID = Request.QueryString("ForumInlId")
	If Len("" & intForumInlID) = 0 OR Not IsNumeric(intForumInlID) Then Response.Redirect "error.asp"

SQL = "SELECT ForumInlID, ForumInlRubrik, ForumInlBrodtext, ForumKatID FROM ForumInl " &_
"WHERE (ForumInlId = " & intForumInlID & "" &_
" OR ForumInlSubId = " & intForumInlID & ") " &_
"AND SidId = " & Session("SidID")

just my €0.02

/PatrikB

Medlem sedan sep. 20011 722 inlägg
#7

Ja det ligger det något i!
Tack PatrikB!
Men lite mer exakt vad kan man åstakomma med sql hack?
Har hört att det går att radera innehåll i databasen och sådant.
Går detta?

Medlem sedan aug. 20003 575 inlägg
#8

Nja, det borde väl gå.

Men då skall man ju helst veta lite om koden som kommer efter å sådant så man kan avsluta den rätt göra en egen fråga efter den osv..

278 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
149 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)