webForumDet fria alternativet

Admin-gränsnitt och databaskoppling....

ASP

6 svar · 179 visningar · startad av Harback

Medlem sedan juni 2001206 inlägg
Frågan#1

Hejsan.

Har ett inloggningssystem där man kan logga in med olika accesser. Admin ska självklart ha tillgång till alla funktioner men jag vet inte riktigt hur man ska skriva ett snabbt och bra admingränsnitt. Är det någon som har något exempel på hur detta kan se ut eller hur man ska bygga upp ett sådant? Funktioner, subbar?

Sedan har jag en annan fråga angående databaskoppling. Följande kod använder jag väldigt ofta:

	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("databas.mdb")

Tänkte att det är smidigare att lägga det i en application i global.asa och sedan anropa den varje gång istället. Är detta en bra lösning? Något annat tips?

Tacksam för svar!

------------------
MVH
Harback

[Redigerat av Harback den 19 sep 2001]

Medlem sedan juli 2001203 inlägg
#2

Tjena!

Angående din andra fråga så brukar jag skriva in connection-strängen i en funktion i en fil som jag inkluderar med ssi på varje sida...

Kan se ut t.ex så här

db.asp :

function getDB()
getDB = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("databas.mdb")
end function

en annan sida:

<%@Language=VBScript%>
<!--#include file="db.asp"-->
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open getDB

.
.
.

%>

Funkar alldeles utmärkt bra :)

------------------
Erik

[Redigerat av ekke_t den 19 sep 2001]

Medlem sedan mars 20002 836 inlägg
#3

och jag som e lite slö och inte orkar skriva så mycket varje gång har denna funktion som inkluderas på varje sida:

Function GetConn
Dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Min-DSN"
Set GetConn = objConn
End Function

Sedan skapar och öppnar man ett connection så här:

<%
Set objDB = GetConn
'## -- gör vad som ska göras med connection objectet --
objDB.Close
Set objDB = Nothing
%>
<!--#INCLUDE VIRTUAL="/inc-mapp/inc_functions.asp"-->

cya,
PatrikB

------------------
*ordning och reda!, pengar på fredag.*

[Redigerat av PatrikB den 20 sep 2001]

Medlem sedan juni 2001206 inlägg
#4

Okej, tack så mycket!

Ingen som kan visa lite hur ni ställt upp ert admingränssnitt med funktioner, subbar etc? Ni behöver alltså inte skriva ihop en 200-raders kod utan ge bara lite förslag.
Vore väldigt tacksam för svar.

------------------
MVH
Harback

Medlem sedan juni 20019 024 inlägg
#5

Jag visste heller inte hur jag skulle skriva mitt admin-gränssnitt, så jag fick skriva om det när det var halvfärdigt (dålig planering!).

Men så här har jag byggt upp det nu:

Jag loggar in på default.asp, där jag sedan skickas vidare till admin.asp som är "huvudsidan" för allt. Därigenom administreras alla funktioner (nyhetssystem, poll, gästbok etc.), genom att inkludera SSI filer med subbar och funktioner:

inc_nyheter.asp
inc_gastbok.asp
inc_poll.asp
osv...

När jag sedan går in på admin.asp så skapar jag länkar som ser ut så här:

admin.asp?app=nyheter&action=write
admin.asp?app=poll&action=list
admin.asp?app=gastbok&action=edit&id=34

Alltså app = vad det är för applikation (nyheter, poll osv).
Action = vad man ska göra med applikationen.
Detta är grunden, därefter har man ju ID och dylikt som läggs på efterhand.

För att "ta hand" om dessa querystrings och utföra det jag valt att göra så gör jag ett antal Select Case, exempel:

Application = Request.Querystring("app")
Action = Request.Querystring("action")

Select Case Application[/red]
Case "nyheter"
' En Select Case för "action" som utför vad man vill göra med nyheterna.
Case "gastbok"
' Vad man vill göra med gästboken.
Case "poll"
' Vad man vill göra med pollen.
Case Else
' Huvudsidan
End Select[/red]

I Select Case:n för Action så anropas subbar som ligger i inkluderings-filerna, exempelvis så kallas subben "writeNews" när jag vill skriva en nyhet (admin.asp?app=nyheter&action=write).

Det blev mycket, men jag hoppas att du förstår mitt sätt att bygga upp det i alla fall!
(Det blir cirka 1500 rader kod att inkludera med SSI, totalt tre-fyra filer, men jag märker ingen prestandaförlust)

------------------
"Tål det inte att skämtas om, är det inte värt att ta på allvar."

[Redigerat av Pace den 21 sep 2001]

Medlem sedan juni 2001206 inlägg
#6

Tack så mycket Pace...det verkar vara ett bra system! Ska ta och testa att bygga upp det sådär.

Förresten en fråga till. Om jag har fattat rätt så lämnar inte en sub någon information tillbaka men det gör en funktion, eller? Vilket är bäst att använda om man t.ex. bara vill uppdatera eller lägga till en post i en databas? Tacksam för exempel.

------------------
MVH
Harback

Medlem sedan juni 20019 024 inlägg
#7

Om jag har fattat rätt så lämnar inte en sub någon information tillbaka men det gör en funktion, eller?

Exakt!

Vilket är bäst att använda om man t.ex. bara vill uppdatera eller lägga till en post i en databas? Tacksam för exempel.

Du har besvarat det själv ovan... ;)
Om du bara vill uppdatera databasen så räcker det med en Sub. Exempel:

Sub uppdateraDatabase()

SQL = "UPDATE person SET iq = iq - 1 WHERE aphjärna = @nders"
Connection.execute(SQL),,128

End Sub

§e

Och om du vill ha någonting tillbaka så ska du använda "Function" istället:

Function räknaOmIQ(iq)

iq = iq - 1
räknaOmIQ = iq

End Function

------------------
"Tål det inte att skämtas om, är det inte värt att ta på allvar."

265 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)