webForumDet fria alternativet

Ta bort inlägg!

ASP

8 svar · 171 visningar · startad av graf

Medlem sedan aug. 2001174 inlägg
Frågan#1

Har laddat ner en gästbok från hemsidan och vill ta bort inlägg i gästboken.
Tänkte använda mig av denna kod: <A HREF="delete.asp?id=<%= recset("id") %>" onClick="return confirm('Vill du verkligen radera inlägget?');">Ta bort</A>

Men vart ska jag sätta in koden för att det ska fungera?
Såhär ser scriptet ut för gästboken:

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

<HEAD>
<SCRIPT LANGUAGE="JavaScript">

<!-- DRT
function doscriptwin(path) {
window.open(path, "_blank", "scrollbars,width=820,height=550,resizable=yes,left=150,top=80");
}
// DRT-->

</SCRIPT>

</HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
a:link { text-decoration: none; color: #000000}
a:visited { text-decoration: none; color: #000000}
a:active { text-decoration: none; color: #330000}

BODY {
scrollbar-face-color: #FFFFFF;
scrollbar-shadow-color: #CCCCCC;
scrollbar-highlight-color: #CCCCCC;
scrollbar-3dlight-color: #CCCCCC;
scrollbar-darkshadow-color: #CCCCCC;
scrollbar-track-color: #FFFFFF;
scrollbar-arrow-color: #CCCCCC;
}
-->
</style>

<%
IF Request.QueryString("DO") = "SKICKA" THEN

'###### LITE KONTROLLER ######

IF Trim(Request.Form("namn")) = "" THEN
Session("fel")= "Du måste fylla i NAMN"
ElseIF Trim(Request.Form("kommentar")) = "" THEN
Session("fel")= "Du måste fylla i en KOMMENTAR"
END IF

IF Session("fel") <> "" Then
Response.Redirect "gb.asp?DO=SKRIV"
END IF

'##### SLUT KONTROLLERAT #####

'####### FIXAR SMILEYS OCH ANNAT ######

text = Request.Form("kommentar")
text = server.HTMLEncode(text)
text = Replace(text,vbCrLf,"<br>")

namn = server.HTMLEncode(Request.Form("namn")) 'Så slipper man jobbigt folk!
epost = server.HTMLEncode(Request.Form("epost")) 'Så slipper man jobbigt folk!
hemsida = server.HTMLEncode(Request.Form("hemsida")) 'Så slipper man jobbigt folk!

'################ SLUT ################

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/gb97.mdb")&";"

Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "Select * From gb"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

RecSet.ADDNEW

RecSet("NAMN") = namn
RecSet("EPOST") = epost
RecSet("HEMSIDA") = hemsida
RecSet("KOMMENTAR") = text
RecSet("IP") = Request.ServerVariables("REMOTE_ADDR")
RecSet("DATUM") = NOW()

RecSet.UPDATE

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

Response.Redirect "gb.asp"

END IF
%>

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

</head>

<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="6" color="#000000"><b>
<% IF Request.QueryString("DO") <> "READ" THEN %>
</b></font><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><br>
<b></b><br>
<br>
<br>
<a href=javaScript:window.self.close()><IMG SRC="stang_fonster.gif" border="0"></a><br>
<br>
</p>
<div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><b>
<%
IF Session("fel") <> "" THEN
Response.Write Session("fel")
Session("fel") = ""
End IF
%>
</b> </font> </div>
<form name="form1" method="post" action="gb.asp?DO=SKICKA">
<div align="left">
<table width="400" border="0" cellspacing="0" cellpadding="2">
<tr>
<td width="143"> <font size="1" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">
<input type="text" name="namn" size="25" maxlength="50">
</font></td>
<td width="249"><font size="1" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">Användarnamn<font color="#993300"></font></font></td>
</tr>
<tr>
<td width="143"> <font size="1" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">
<input type="text" name="epost" size="25" maxlength="50">
</font></td>
<td width="249"><font size="1" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">E-mail
</font></td>
</tr>
<tr>
<td width="143"> <font size="1" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">
<input type="text" name="hemsida" size="25" value="" maxlength="50">
</font></td>
<td width="249"><font size="1" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">Hemsida</font></td>
</tr>
<tr>
<td colspan="2"> <font size="1" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">
<textarea name="kommentar" rows="5" cols="40"></textarea>
</font><font size="1" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">text<font color="#993300"></font></font></td>
</tr>
<tr>
<td width="143"> <font size="1" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">
<input type="submit" name="Submit" value="Spara" alt="Posta ditt inlägg" border = "0">
</font></td>
<td width="249"> </td>
</tr>
</table>
</div>
</form>
<p align="center">
<% END IF %>
<font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<% IF Request.QueryString("DO") = "READ" THEN

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/gb97.mdb")&";"

Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "Select * From gb ORDER BY DATUM DESC"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

'#### Räknar ut antal sidor ####

COUNT = 0
DO UNTIL RecSet.EOF
COUNT = COUNT +1
RecSet.MOVENEXT
LOOP

IF int(COUNT/5) = COUNT/5 THEN
antal_sidor = COUNT/5
ELSE
antal_sidor = int(COUNT/5)+1
END IF

RecSet.Close
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

'##### SLUT PÅ RÄKNANDET #####
%>
</font></p>
<div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><br>
Antal sidor:
<% FOR X=1 TO antal_sidor %>
<a href="gb.asp?DO=READ&skipp=<%=(X-1)%>"><%=X%></a>
<% NEXT %>
<%
IF Request.QueryString("skipp") = "" THEN
skipp = 0
ELSE
skipp = Request.QueryString("skipp")
END IF
'### Hoppar fram till rätt inlägg ###

FOR X=1 TO skipp
	FOR Y=1 TO 9
		RecSet.MOVENEXT
	NEXT
NEXT

'#### KLAR ####

Z=0
DO UNTIL RecSet.EOF OR Z=10
Z=Z+1
%>
<br>
<br>
</font>
<table width="400" border="0" cellspacing="0" cellpadding="1">
<tr>
<td bgcolor="#F5F5F5">
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#000000">Skrivet
av:<font color="#993300"> <%=RecSet("NAMN")%> </font> den: <%session.lcid=1053%>
<%=dateadd("h",6,cdate(RecSet("DATUM")))%>
</font></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"> <font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#000000">
<b><%=RecSet("HEMSIDA")%></B><p><%=RecSet("KOMMENTAR")%> <br>
<br>
</font>
<hr width="100%" size="1" align="center">
</td>
</tr>
<tr>
<td bgcolor="#FFFFFF"> <font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#000000">
<%
IF RecSet("HEMSIDA") = "" OR RecSet("HEMSIDA") = "http://" THEN
Response.Write "Ingen hemsida"
ELSE
%>

          \<% END IF %\>
          &#0124; 
          \<%

IF RecSet("EPOST") = "" THEN
Response.Write "Ingen epost"
ELSE
%>
[<a href="mailto:<%=RecSet("EPOST")%>"><%=RecSet("EPOST")%></a>]
<% END IF %>
</font></td>
</tr>
</table>
</td>
</tr>
</table>
<font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<%
RecSet.MOVENEXT
LOOP
RecSet.Close
Connect.CLose
%>
<br><%End If%>
</font></div>
</body>
</html>

Tack på förhand!

Medlem sedan aug. 20011 946 inlägg
#2

Länkan kan du lägga var som helst men det är nog kganka klokt att skydda den med lösenord på nått sätt. Har du gjort delete.asp eller behöver du hjälp med den?

------------------
/Dahlgren

"Det finns saker som man måste vara fackman för att inte förstå"

Medlem sedan aug. 2001174 inlägg
#3

delete.asp filen har jag gjort, ska prova med att lägga in det...
Tack!

Medlem sedan aug. 2001174 inlägg
#4

hmm var visst nåt fel i delete.asp filen.

Såhär ser den ut:
<%
<!-- #include file="adovbs.inc" -->

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/gb97.mdb")&";"

SQL = "DELETE FROM asp WHERE ID = " & Request.Querystring("id")
Connect.Execute(SQL),,128
Connect.Close
Response.Write "<HTML><BODY>Inlägget raderat!</BODY></HTML>"
%>

Och jag får det här felmeddelandet när jag ska ta bort ett inlägg:

Microsoft OLE DB Provider for ODBC Drivers error '80040e37'

[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot find the input table or query 'asp'. Make sure it exists and that its name is spelled correctly.

/graf/delete.asp, line 8

Vad ska jag göra?

Medlem sedan dec. 200012 464 inlägg
#5

På andra ställen i koden så används tabellnamnet gb.

SQL = "DELETE FROM gb WHERE ID = " & Request.Querystring("id")

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

Medlem sedan aug. 2001174 inlägg
#6

Fan vad schysta ni är!!!
Det fungera som ni kanske förstod, nu är jag glad :D
Tack tack tack!

Medlem sedan aug. 2001174 inlägg
#7

En till fråga bara:
Jag skulle vilja att man skulle behöva skriva in ett lösenord för att kunna radera ett inlägg, hur gör jag då?
Såhär ser själva texten ut då man klickar "Ta bort":
<A HREF="delete.asp?id=<%= recset("id") %>" onClick="return confirm('Vill du verkligen radera inlägget?');">Ta bort</A>

Tack!

Medlem sedan aug. 20011 946 inlägg
#8

Mitt förslag är att du gör en helt ny sida som du länkar till på ändast ett ställe i gästboken på den sidan listar du alla inlägg och tar med din tabort länk. Fördelen är att folk blir mnindre frästade att knäcka ditt lösen om deet bara finns på ett ställe. Om du har en länk som heter tabort brevid varje inlägg så komnmer alla att pröva på om deet funkar. Sök här på wf om du behöver hjälp med lösen.

------------------
/Dahlgren

"Det finns saker som man måste vara fackman för att inte förstå"

Medlem sedan aug. 2001174 inlägg
#9

Jo det är väl bäst så...
Provade det och insåg att det är bästa sättet att göra på.

Tack!

294 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
146 ms — deklarationer (db)
0 ms — hämta statistik (cache)
145 ms — hämta tråd, inlägg och bilagor (db)
143 ms — ändringar (db)