webForumDet fria alternativet

Hjälp

67 svar · 266 visningar · startad av jboy_87

jboy_87Medlem sedan aug. 20011 099 inlägg
#1

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
%>

read_gb.asp


<!-- #include file="adovbs.inc" -->

<%

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 tillID = "&Request.QueryString("tillid") &" Order By Datum DESC"

RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
%>

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<LINK REL=stylesheet HREF="style.css" TYPE="text/css">

</head>

<body bgcolor="#FFFFFF" text="#000000" background="start(1)-filer/contentbck.gif" link="#000000" vlink="#000000" alink="#000000">
<table width="466" border="0" cellspacing="2" cellpadding="2" bgcolor="#FFFFFF">
<tr>
<td valign="top" bgcolor="#999999" width="702">
<p align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b> </b></font><b><font face="Verdana, Arial, Helvetica, sans-serif">Läs 
/ Skriv i gästboken</font></b></p>
</td>
</tr>
<tr>
<td width="702" bgcolor="#CCCCCC">
<p align="center"><font face="Verdana" size="2">Visa kompisar
- Dagbok
- <a href="read_gb.asp?tillid=<%=Request.QueryString("checkid")%>">Gästbok</a>
- <a href="add_friend.asp?id2=<%=Request.QueryString("checkid")%>" target="rightFrame">Lägg
till som kompis</a></font></td>
</tr>
<tr> 
<td valign="top" bgcolor="#FFFFFF" width="702"> 
<table width="456" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
<% Do Until RecSet.EOF %>
<tr>
<td valign="top" bgcolor="#FFFFFF" width="919"> 
<table width="392" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF" height="10">
<tr> 
<td height="1" width="681">
<table border="0" width="449" cellspacing="0" cellpadding="0" height="36">
<tr>
<td height="5" width="821"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b><font color="#000000"><a href="read_gb.asp?tillid=<%=Request.QueryString("tillid")%>"><%=RecSet("namn")%> 
</a> 
- <font color="#FF0000"><%=RecSet("datum")%></font></font></b></font></td>
<td width="63" rowspan="2" height="36">
<p align="center"><img border="0" width="61" height="71" src="Bilder/medlemmar/ingen.gif"></td>
</tr>
<tr>
<td height="31" width="821"><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#000000"><%=Replace(TRIM(Server.HTMLEncode(RecSet("text"))),vbcrlf,"<br>")%></font></td>
</tr>
</table>
</td>
</tr>
<tr> 
<td height="21" width="681"> 
.................................................................................................................<br>
<a href="do_delete2.asp?delID=<%=RecSet("id")%>">
<font size="1" face="Verdana">Radera</font></a><br>
 </td>
</tr>
<%
RecSet.MoveNext
Loop
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
%>
</table>
<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#000000"><b>Skriv 
i gästboken</b><br>
</font> 
<form name="form1" method="post" action="write_gb.asp?tillid=<%=Request.QueryString("tillid")%>">
<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#000000"> 
<textarea name="text" cols="45" rows="4" class ="table" style="background-image: url('Bilder/Bakgrund_rutig.gif'); font-family: Verdana; font-size: 10px; border: 1px solid #000000; "></textarea>
<br>
<br>
<input type="submit" name="Submit" value="Skicka" class="knapp">
( Ditt namn registreras automatiskt ) </font> 
</form>
</td>
</tr>
</table>
</td>
</tr>
</table>
<p><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="javascript:history.go(-1);">Tillbaka</a> 
</font> </p>
</body>
</html>

write_gb.asp

<%
If Request.Form("text") = "" Then
Response.Redirect "read_gb.asp?tillid=" &Request.QueryString("tillid")
end if
%>

<%

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="&Session("id")
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

RecSet.AddNew

RecSet("namn") = Session("namn")
RecSet("datum") = Date
RecSet("text") = Request.Form("text")
RecSet("tillID") = Request.QueryString("tillid")

RecSet.Update
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing

Response.Redirect "read_gb.asp?tillid=" &Request.QueryString("tillid")

%>

------------------
ASP är bäst fuck the rest!!!

LarsGMedlem sedan dec. 200012 464 inlägg
#2

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

[Redigerat av LarsG den 18 nov 2001]

jboy_87Medlem sedan aug. 20011 099 inlägg
#3

ännu en onödig inlägg
har löst det med:

<% If int (Request.QueryString("tillid"))= Session("id") Then %>

    &nbsp;-&nbsp;\<a href="delete_gb.asp?id=\<%=RecSet("ID")%\>"\>

Ta bort.</a></font><%End If%>

------------------
ASP är bäst fuck the rest!!!

emissionMedlem sedan dec. 19996 721 inlägg
#4

LarsGs andra lösning är betydligt säkrare, så om du vill hindra medveten radering av andras prylar så ska du använda den.

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#5

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

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

emissionMedlem sedan dec. 19996 721 inlägg
#6

Jupp! :)

jboy_87Medlem sedan aug. 20011 099 inlägg
#7

tack så mycket LarsG vad skulle jag göra utan dig :-)

------------------
ASP är bäst fuck the rest!!!

jboy_87Medlem sedan aug. 20011 099 inlägg
#8

men ööö fan jag kan inte ta bort inläggen som andra skriver till mig :-<

------------------
ASP är bäst fuck the rest!!!

LarsGMedlem sedan dec. 200012 464 inlägg
#9
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

jboy_87Medlem sedan aug. 20011 099 inlägg
#10

hoppas det funkar :-)

------------------
ASP är bäst fuck the rest!!!

jboy_87Medlem sedan aug. 20011 099 inlägg
#11

öö vart ska jag lägga in det

<%

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 tillID = "&Request.QueryString("tillid") &" Order By Datum DESC"

RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
%>

------------------
ASP är bäst fuck the rest!!!

jboy_87Medlem sedan aug. 20011 099 inlägg
#12

LarsG :-o

------------------
ASP är bäst fuck the rest!!!

LarsGMedlem sedan dec. 200012 464 inlägg
#13

I do_delete2.asp (som jag skrev den i ett tidigare inlägg) så byter du ut den delete som finns där.

------------------
essentitia preter non sans multiplicandum

jboy_87Medlem sedan aug. 20011 099 inlägg
#14

men då syns ju inte radera länken eller

------------------
ASP är bäst fuck the rest!!!

jboy_87Medlem sedan aug. 20011 099 inlägg
#15

do_delete2

<%
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
%>

------------------
ASP är bäst fuck the rest!!!

LarsGMedlem sedan dec. 200012 464 inlägg
#16
<%
'
'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

jboy_87Medlem sedan aug. 20011 099 inlägg
#17

amen ta bort länken funkar perfekt men asså när jag vill ta bort inlägg i min gäsbok så funkar det inte

------------------
ASP är bäst fuck the rest!!!

jboy_87Medlem sedan aug. 20011 099 inlägg
#18

radera länken visas då ej

------------------
ASP är bäst fuck the rest!!!

jboy_87Medlem sedan aug. 20011 099 inlägg
#19

jag vill inte att länken visas när man inte har tillåtelse och radera inlägget

------------------
ASP är bäst fuck the rest!!!

LarsGMedlem sedan dec. 200012 464 inlägg
#20

Om du lägger detta där du skriver ut länken

<% 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

142 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
137 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)