/ Forside/ Teknologi / Udvikling / ASP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Load forskellige menu'er
Fra : Maddog_dk
Vist : 576 gange
100 point
Dato : 23-01-07 20:17

Hej Alle
Jeg har lavet en hjemmeside hvor man skal logge på, dette er lavet med en database.
Nu vil jeg gerne ud fra samme database bestemme hvilken menu brugerne får.
eks. en almindelig bruger mærket "user" kan navigere rundt og se bestemte sider, mens en bruger mærket "admin" vil have flere muligheder.
jeg tænket om man kunne gøre sådan at bruger "user" vil loade "men1.inc" mens bruger "admin" vil loade "menu2.inc"

Sidder der en ASP ørn derude som gerne vil hjælpe her?????

/Maddog

 
 
Kommentar
Fra : Maddog_dk


Dato : 23-01-07 21:59

Hej
Det kunne også være en mulighed at sætte rettigheder op på selve menu filen, men igen kommer jeg til kort når disse rettigheder skal hentes fra en database

/Maddog

Kommentar
Fra : smorch


Dato : 23-01-07 22:05

Hvis du ud fra brugerens status sætter en session fx. session("login")="adm" for admin og session("login")="user" for de andre, kan du i din men1.inc lave en

if session("login")="adm" then
[ admin menu]
elseif session("login")="user"
[ bruger menu
1
2
3
4]
else
response.redirect("login.asp")
end if

Kommentar
Fra : Maddog_dk


Dato : 23-01-07 22:56

Hej smorch

den session jeg skal indsætte ("login")="adm" er det muligt at indsætte den i følgende kode og i så fald hvor?


<%
Dim adoCon
Dim strCon
Dim rsCheckUser
Dim strAccessDB
Dim strSQL
Dim strUserName

strUserName = Request.Form("txtUserName")

strAccessDB = "database.mdb"

Set adoCon = Server.CreateObject("ADODB.Connection")

strCon = "DRIVER={Microsoft Access Driver (*.mdb)};uid=;pwd=letmein; DBQ=" & Server.MapPath(strAccessDB)

adoCon.Open strCon

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

strSQL = "SELECT tblUsers.Password FROM tblUsers WHERE tblUsers.UserID ='" & replace(strUserName, "'", "''") & "'"

rsCheckUser.Open strSQL, strCon

If NOT rsCheckUser.EOF Then

If (Request.Form("txtUserPass")) = rsCheckUser("Password") Then

Session("blnIsUserGood") = True

Set adoCon = Nothing
Set strCon = Nothing
Set rsCheckUser = Nothing

Response.Redirect"index.asp?name=" & strUserName
End If
End If

Set adoCon = Nothing
Set strCon = Nothing
Set rsCheckUser = Nothing

Session("blnIsUserGood") = False

Response.Redirect"fejl.asp"
%>


jeg håber meget at du vil hjælpe lidt på vej

/Maddog

Kommentar
Fra : Maddog_dk


Dato : 23-01-07 23:03

Hej smorch

det kan måske også være på de enkelte sider som ligger bag password beskyttelsen, hvilket jeg tror det er:

<%
If Session("blnIsUserGood") = False or IsNull(Session("blnIsUserGood")) = True then
Response.Redirect"fejl.asp"
End If
%>


/Maddog

Kommentar
Fra : smorch


Dato : 24-01-07 00:06

i linien

strSQL = "SELECT tblUsers.Password FROM tblUsers WHERE tblUsers.UserID ='" & replace(strUserName, "'", "''") & "'"

skal du også vælge det felt i databasen du bruge som status:

strSQL = "SELECT tblUsers.Password, tblUsers.STATUS FROM tblUsers WHERE tblUsers.UserID ='" & replace(strUserName, "'", "''") & "'"


og ved tjek af password kan du så sætte adm/user sessionen: (Jeg går her ud fra at feltet hedder status og 1=adm og 0= user)

If (Request.Form("txtUserPass")) = If (Request.Form("txtUserPass")) = rsCheckUser("Password") Then

Session("blnIsUserGood") = True
Then

Session("blnIsUserGood") = True
if rsCheckUser("STATUS") = 1 then session("login")="adm"
if rsCheckUser("STATUS") = 0 then session("login")="user"

Jeg er først online igen i morgen form. hvis du skal have forklaret mere.

Mvh
sMorch


Accepteret svar
Fra : smorch

Modtaget 100 point
Dato : 24-01-07 09:28

sådan skal den se ud - der var lige kommet noget dobbeltkonfekt i skidtet:

........

If (Request.Form("txtUserPass")) = If (Request.Form("txtUserPass")) = rsCheckUser("Password") Then

Session("blnIsUserGood") = True

if rsCheckUser("STATUS") = 1 then session("login")="adm"
if rsCheckUser("STATUS") = 0 then session("login")="user"

Set adoCon = Nothing
Set strCon = Nothing
Set rsCheckUser = Nothing

Response.Redirect"index.asp?name=" & strUserName
End If
End If

Set adoCon = Nothing
Set strCon = Nothing
Set rsCheckUser = Nothing

Session("blnIsUserGood") = False

Response.Redirect"fejl.asp"
%>



Godkendelse af svar
Fra : Maddog_dk


Dato : 24-01-07 15:58

Tak for svaret smorch.

Jeg skulle lave lidt ændringer i menu filen


<%
if session("login")="adm" then
Server.Execute("admin-menu.asp")

elseif session("login")="user" then
Server.Execute("user-menu.asp")
end if
%>


Men det var en kæmpe hjælp du gav mig.
Tak for det!


/Maddog

Kommentar
Fra : smorch


Dato : 24-01-07 20:24

Sææææl


Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste