jag har gjort så att alla medlemmar får en egen gästbok och lagt in så att användaren kan ta bort inläggen fast andra användare kan också ta bort inlägg. Hur gör jag så bara den som e inloggad kan ta bort inläggen??
do_delete2.asp
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/gb.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From gb Where ID=" &Request.QueryString("delID")
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
RecSet.Delete
RecSet.Update
RecSet.Close
Set RecSet = nothing
Set Connect = nothing
Response.Redirect "read_gb.asp?tillid=" & session("id")
Connect.close
%>
Du kan lägga till en kontroll så att du bara lägger ut delete-länken om namn = session("namn")
<% if cstr(recset("namn")) = cstr(session("namn")) then %>
<a href="do_delete2.asp?delID=<%=RecSet("id")%>">
<font size="1" face="Verdana">Radera</font></a><br>
<%end if%>
eller så kan du lägga till ett villkor när du gör delete
<%
'
'do_delete2.asp
'
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/gb.mdb")&";"
sql = "delete From gb Where ID=" &Request.QueryString("delID")
sql = sql & " and name = '" & session("name") & "'"
connect.execute sql,rows,128
if rows = 0 then
response.write "Du får bara ta bort dina inlägg"
end if
connect.close
Set Connect = nothing
Response.Redirect "read_gb.asp?tillid=" & session("id")
%>
------------------ essentitia preter non sans multiplicandum
Både och är väl lämpligast. Dumt att skriva ut en ta bort länk om man inte får ta bort det. Men man bör också ha med det som LarsG skrev. Annars kan ju vem som helst skriva in URLen. :)
sql = "delete From gb Where ID=" &Request.QueryString("delID")
sql = sql & " and (name = '" & session("name") & "' or tillid = " & session("id") & ")"
Nu vet jag inte exakt hur din tabell ser ut, men jag gissar att tillid innehåller id för den det är till och session("id") är id för den som är inloggad.
------------------ essentitia preter non sans multiplicandum
<%
'
'do_delete2.asp
'
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/gb.mdb")&";"
sql = "delete From gb Where ID=" &Request.QueryString("delID")
sql = sql & " and (name = '" & session("name") & "' or tillid = " & session("id") & ")"
connect.execute sql,rows,128
if rows = 0 then
response.write "Du får bara ta bort dina inlägg eller de som är skriva till dig"
end if
connect.close
Set Connect = nothing
Response.Redirect "read_gb.asp?tillid=" & session("id")
%>
Det här påverkar inte den länk du har för delete.
------------------ essentitia preter non sans multiplicandum
<% If clng(recset("tillid")) = clng(Session("id")) or cstr(session("namn")) = cstr(recset("name")) Then %>
- <a href="delete_gb.asp?id=<%=RecSet("ID")%>">
Ta bort.</a></font><%End If%>
blir det bättre då?
------------------ essentitia preter non sans multiplicandum
146 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe