webForumDet fria alternativet

Admin sida

23 svar · 543 visningar · startad av jwradhe

jwradheMedlem sedan juni 2002711 inlägg
#1

hur gör man en admin sida till en gb????

jag vill veta hur jag ska göra för att kunna svara på inlägg och ta bort oönskade inlägg.

nån som vet hur man gör just det..?

JymdisMedlem sedan mars 20016 260 inlägg
#2

ja?
vad är det du behöver veta?
börja göra en sida som har lösenordskydd...
fortsätt med att göra en kopia av gästboken, fast med möjligheten att kunna radera och svara.. dvs två knappar där du hämtar ID:et på på gästboksinlägget..
du kanske får lägga till ett till fält i databasen som heter nånting liknande SvarID..

vet inte exakt vad du är ute efter men men

aljMedlem sedan sep. 2002538 inlägg
#3

Skrev ihop ett script åt dig som tar bort inlägg..

Delete.asp

<!-- #include file="adovbs.inc" -->
<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("db.mdb")

	Set RecSet = Server.CreateObject("ADODB.Recordset")
   Radera = "SELECT * FROM tblGastbok WHERE ID = " & Request.QueryString("id_nr") & " "

   RecSet.Open Radera, Connect, adOpenStatic, adLockOptimistic 

   RecSet.Delete

	RecSet.Close
	Connect.Close
	Set RecSet = nothing
	Set Connect = nothing 
	%>
Posten är nu borttagen...

Admin.asp

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

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

Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM tblgastbok ORDER BY Id DESC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic 
%>

<% Do Until RecSet.EOF%>
  <b>
    <a href="Delete.asp?id_nr=<%=RecSet("Id") %>">
     <%=Recset("Rubrik") %>
           </a>
   
 <%	RecSet.MoveNext
	Loop%>
	RecSet.Close
	Connect.Close
	Set RecSet = nothing
	Set Connect = nothing

Orkar inte förklara så mycket..
Men du får ändra databasens namn, tabellernas namn samt kolumnernas namn till dina namn på allt :D

Har inte orkat testat det ännu emn jag tror det ska fungera..

CatZMedlem sedan jan. 20022 440 inlägg
#4
<%
Select Case = Request("cmd")

Case ""

If Session.Contents("Admin") = Empty Then
Response.Redirect("gb.asp")

SQL=" select titel, innehall, id from gb order by id DESC
set rs = Conn.Execute(SQL)

Dim id, titel, innehall
id = rs("id")
titel = rs("titel")

Response.write "Här är listan på alla inlägg"
While NOT rs.EOF
response.write titel &" ||| "_
"<a href=""admin.asp?cmd=tabort&id=" & id & ">kasta</a> | "_
"<a href=""admin.asp?cmd=svara&id=" & id & ">svara</a>"
rs.movenext
wend

Det kanske hjälper dig att komma igång ?

CatZMedlem sedan jan. 20022 440 inlägg
#5

alj man ska inte öppna ett recordset när man updaterar eller tar bort ur databasen ;)

aljMedlem sedan sep. 2002538 inlägg
#6

Huh?!
Har jag alltid gjort , visserligen är jag ganska ny på asp, men berätta vad är det för del med det?!

Edit:
Eller menar du att man bara kan göra en Execute sats?
Jo, det vet jag emn jag envisas med att göra recordset's :P

PaceMedlem sedan juni 20019 024 inlägg
#7

Lite skillnad blir det (om man bortser från prestandavinsten): ;)

[b]Recordset-variant[/b]
<!-- #include file="adovbs.inc" -->
<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("db.mdb")

	Set RecSet = Server.CreateObject("ADODB.Recordset")
   Radera = "SELECT * FROM tblGastbok WHERE ID = " & Request.QueryString("id_nr") & " "

   RecSet.Open Radera, Connect, adOpenStatic, adLockOptimistic 

   RecSet.Delete

	RecSet.Close
	Connect.Close
	Set RecSet = nothing
	Set Connect = nothing 
	%>
Posten är nu borttagen...
[b]Utan recordset[/b]
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("db.mdb")
Connect.Execute("DELETE FROM tblGastbok WHERE ID = " & Request.QueryString("id_nr")),,128
Connect.Close
Set Connect = nothing 
%>
Posten är nu borttagen...
aljMedlem sedan sep. 2002538 inlägg
#8

Jaha då har jag lärt mig något nytt idag då.
Tack alla :)

JymdisMedlem sedan mars 20016 260 inlägg
#9

Men frågan är hur mycket han som skrev inlägget har lärt sig, igenom att skriva hela lösningen kommer han bara komma och fråga nästa gång också... Tycker man iaf får försöka själv, och sen kan man komma hit och fråga om kodspecifika fel eller lösningar, men inte få dom upp och ner.

/Ni kanske inte skrev hela lösningen men ändå =)

voigtann1Medlem sedan juni 20019 519 inlägg
#10

Pace skrev:

[b]Utan recordset[/b]
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("db.mdb")
Connect.Execute("DELETE FROM tblGastbok WHERE ID = " & Request.QueryString("id_nr")),,128
Connect.Close
Set Connect = nothing 
%>
Posten är nu borttagen...

Häftigt.. ska testa detta också.. yey lärt mej något nytt idag :)

OveRRidEMedlem sedan feb. 200112 078 inlägg
#11

Pace:s andra kod-exempel är väl att föredra i alla lägen när det gäller borttagning av data? Både prestanda- och kodmässigt.

voigtann1Medlem sedan juni 20019 519 inlägg
#12

det fungera väll med update också?

OveRRidEMedlem sedan feb. 200112 078 inlägg
#13

Ja, det fungerar med update också. :)

voigtann1Medlem sedan juni 20019 519 inlägg
#14

Blir sidan fortare?

OveRRidEMedlem sedan feb. 200112 078 inlägg
#15
Connect.Execute("DELETE FROM tblGastbok WHERE ID = " & Request.QueryString("id_nr")),,128

Om man gör på ovanstående sätt (utdrag ur Pace:s kod), så har iallafall jag den bestämda uppfattningen och erfarenheten av att sidan exekveras snabbare, ja.

Detta med tanke på att execute är mer effektiv än update-metoden samt att ,,128 används, som gör att inget tomt recordset skapas, som det annars gör.

voigtann1Medlem sedan juni 20019 519 inlägg
#16

vad betyder ),,128 då?

solbulleMedlem sedan mars 20015 287 inlägg
trexter.comMedlem sedan apr. 20021 203 inlägg
#18

voigtann1 skrev:

vad betyder ),,128 då?

"Att inget tomt recordset skapas, som det annars gör."
Det ger en prestandavinst eftersom RecordSet:et ändå inte används.

:)

voigtann1Medlem sedan juni 20019 519 inlägg
#19

okey.. :) du OveRRidE sidan går inte fortare :( tror jag inte.. har timer.. tror jag får samma tid..

@ndersMedlem sedan juni 200032 969 inlägg
#20

Skillnaden är försumbar vid låg belastning. Att man ser till att den kod man använder är hyfsat optimerad på de flesta ställen kan vara skillnaden mellan liv och död på en välanvänd applikation.

Skriv bra kod, och du skall belönas. ;)

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