webForumDet fria alternativet

Förhindra insert

2 svar · 284 visningar · startad av Nova

NovaMedlem sedan feb. 2005216 inlägg
#1

Hur ska jag tänka?
På en sida så skriver jag ut länkar där användaren kan lägga till en hund till sin dagbok genom att trycka på den och i inserten så har jag så här

str = "INSERT INTO hund_dagkoppling ( hund_nr, dagbok_nr, anv_nr )" & _
  " VALUES (" & clng(FixqueryInject("hund_nr")) & "," & _
   " " & clng(FixqueryInject( "dagbok_nr" )) & "," & _    
      " " & clng(Session("anv_nr")) & " )"

(det är en kopplingstabell så man kan lägga till flera hundar i dagboken.)
Men om man kopierar länken och ändrar på dagboksnummret eller hundnummret så kan vem som helst göra en insert och knyta en annan hund till någon annans dagboken bara de är inloggade när de gör det.

Jag får till så att den obehöriga hunden inte syns vid utskrift men, det inserten gjorde finns i databasen.

Såhär skriver jag hund/arna som är med i dagboken.

SELECT hund_dagkoppling.*, hundar.* FROM hundar INNER JOIN hund_dagkoppling ON hundar.hund_nr = hund_dagkoppling.hund_nr
WHERE dagbok_nr = " & FixqueryInject("dagbok_nr") & "and hundar.anv_nr="& session("anv_nr")

Går/hur gör man en kontroll mot en annan tabell innan inserten? typ " IF Request.QueryString("anv_nr")= anv_nr WHERE Request.QueryString dagbok_nr = dagbok.dagbok_nr THEN"

Eller tänker jag helt fel som vanligt :OO

Kockar som jag ska koka soppa inte pillra med ASP/VB :r

emissionMedlem sedan dec. 19996 721 inlägg
#2

Frågan är om det finns någon mening att skilja anv_nr och åt, dvs. kan en användare ha mer än en dagbok? Om inte så blir du ju av med problemet.

Annars får du lösa det genom att "söka in" informationen i tabellen.

str= "INSERT " & _
"INTO hund_dagkoppling " & _
"    ( " & _
"        " & clng(FixqueryInject("hund_nr")) & ", dagbok_nr, anv_nr " & _
"    ) " & _
"    (SELECT hund_nr, dagbok_nr, anv_nr " & _
"    FROM dagbok " & _
"    WHERE dagbok_nr = " & clng(FixqueryInject( "dagbok_nr" )) & " AND anv_nr= " & clng(Session("anv_nr")) & " " & _
"    ) "

Är du med på principen?

NovaMedlem sedan feb. 2005216 inlägg
#3

Jag förstår principen, men klarar inte att fixa det :r jag är en nästan total nybörjare på detta.

Jag satte ett kontroll RS före inserten då verkar det fungera som jag vill.

//Tackar ändå

126 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)