mikael_aMedlem sedan mars 2000475 inlägg hej,
har gjort en kod-snutt i .asp där alla använder loggar in, och om lösenordet stämmer kommer de vidare annars inte.
om man nu vill att alla med tex admin level skall hamna på en viss sida, hur gör man då? har nu en "admin" knapp med en egen databas bara för admin, men detta måste ju vara rätt onödigt?
istället om man loggar in som admin så har man kanske en extra meny, med alla admin saker i.
hoppas ni förstår vad jag menar.
------------------
Micke & Annas Sajt
micke@micke-anna.nu
ZaphodMedlem sedan maj 2000107 inlägg Sket enkelt :)
Det är bara att ta och göra en ny column i din databas som du döper til tex SAdmin (superadmin) och så gör du den till en checkbox (true/false) ifall du använder access eller bit ifall du använder SQL. Så ger du adminen värdet true där (du kan även göra en administrations sida där du fixar så att SAdmin:en kan lägga till fler SAdmins)
Så sedan när användaren loggar in så tar du bara och "returnar" den till ditt recordset. Och ifall det är true (alltså ifall användaren är en superadmin) så ger du dem värdet session("SAdmin") = true.
Sedan är det bara att göra din special meny:
<%if sessio("SAdmin") = true then%>
här lägger du din meny
<%end if%>
och ifall du vill vara riktigt säker så kan du ju lägga in det på varje SAdmin sida också.
<%if session("SAdmin") = true then%>
Din sida som bara SAdmin har access till
<%else
response.write "Du har inte access till denna sida"
end if%>
Nu kanske jag förklarade lite överdrivet mycket. Men nu förstår du iallafall.
------------------
/Magnus aka Zaphod
www.designmodule.com.bi
aMedlem sedan maj 2000755 inlägg Om du använder en databas med inloggningsuppgifter kan du lägga till en kolumn där du anger vilken nivå varje användare har. dSjälva inloggningen på sidan kan du kanske lösa på så sätt att det visas olika saker beroende på vilken nivå på behörighet man loggat in med, typ:
If niva = 2 then'admin-nivå
<html>
... admin-sidans innehåll här
</html>
Elseif niva = 1 Then 'obehörigas nivå
<html>
... vanliga besökares sida här
</html>
End If
Om sidorna i stort sett skall se likadana ut fast admin bara skall ha lite fler menyalternativ kan du använda samma grundsida och bara lägga in villkorsatser i menyn. På så sätt syns bara de alternativ som personen har behörighet till.
Hmm, kanske blev lite svårtolkat, om du behöver bättre förklaring fråga igen!
mikael_aMedlem sedan mars 2000475 inlägg jag tror jag förstod resonemanget, annars återkommer jag.
tackar
------------------
Micke & Annas Sajt
micke@micke-anna.nu
mikael_aMedlem sedan mars 2000475 inlägg är det då enkelt att lägga in, att då varje ny person som registrerar sig automatiskt tillhör tex nivå 1, och sedan kan jag som admin gå in och ändra, så att han tex skall tillhöra nivå 2 ?
------------------
Micke & Annas Sajt
micke@micke-anna.nu
BrimbaMedlem sedan dec. 19995 875 inlägg Självklart kan du lägga in det så, du kan ha fler nivåer också.
Ta tex och gör ett fält i databasen som heter NiVa där du anger en siffra som du sedan stämmer av med efter att han har loggat in, så får han ju tillgång till just den nivån han har skriven i sin "profil".
Lycka till
///Patrik
jispirMedlem sedan maj 20011 343 inlägg Fattar inte riktigt men om man ska ha så man kan välja sin nivå 1 eller 2 är inte det väldigt lätt för vilken användare som helst som registrera sig att välja alternativ 2 när de registerar sig!
Jag skulle gärna vilja ha en liten bättre förklaring och om någon skulle ha tid så skulle jag uppskatta om ni kunde visa mig hur ni menar alltså göra ett färdigt script och sicka till mig!
BrimbaMedlem sedan dec. 19995 875 inlägg Ok, jag skriver lite om hur man gör.
Låt oss säga att du har en databas som har fäljande fält.
id
user_id
namn
losenord
niva
Då får du låta personen i fråga logga in. Men det har du redan löst eller?
Du kan tex göra en fråga som ser ut så här:
<%
SQLStmt = "Select * FROM tabell WHERE user_id = '" & Request.Form & "'"
SET RS = Connection.Execute(SQLStmt)
If RS.BOF AND RS.EOF Then
Response.Redirect("anvnamn_fanns_ej.asp")
Else
losencheck = StrComp(Request.Form("losenord"), RS("losenord"),0)
If losencheck=1 Then
Response.Redirect("felaktigtlosen.asp")
Else
Session("niva") = RS("niva")
End If
End If
%>
Nu har du nivån i en sessions variabel plus att han har loggat in på ett bra sätt.
Sedan kan du tex när du gör en asp sida skriva nått sånt här:
Meny<br>
<br>
Detta kommer jag åt
Detta kommer jag åt
Detta kommer jag åt
Detta kommer jag åt
<% If session("niva") = 1 Then %>
Detta kommer man åt med niva 1
Detta kommer man åt med niva 1
<%
Else
End If
If session("niva") = 10 Then%>
Detta kommer man åt om man har nivå 10
<%
Else
End If
%>
Detta har jag EJ testat, utan skrev det nu, det finns säkert några fel :) Men jag hade nog byggt upp det på det här sättet, eller något sådant iaf.
Lycka till!
///Patrik
mikael_aMedlem sedan mars 2000475 inlägg ok, jag förstår resonemanget, men om man vill att användaren direkt skall få nivå 1 tex när han registrerar sig, hur gör man det?
har nu en databas med följande:
användarnamn
lösenord
e-mail
hemsida
icq
intressen
sysselsättning
...
där är det ju väldigt dumt att lägga till en "drop-meny" som heter nivå? för då kan ju medlemen själv sätta admin nivån... hoppas ni förstår hur jag menar?
jag har tex en sida:
..........
meny
länkar
asp
..........
detta kommer alla åt, även de som inte har registrerat sig.
..........
meny
länkar
asp
galleri
vykort
...........
detta kommer endast de åt som har tex nivå "medlem"
..........
meny
länkar
asp
galleri
vykort
radera medlem
ny medlem
...........
detta kommer endast de som har nivå "admin" åt
ok om jag gör en sida med mycket information på och bara vill visa en del för "icke-medlemar" och allt för medlemar, måste jag skriva texten 2 gånger?
------------------
Micke & Annas Sajt
micke@micke-anna.nu
Asp NyMedlem sedan maj 200022 inlägg Om man ska skapa 3 olika nivåer...Hur blir det då?
2 nivåer:
Meny<br>
<br>
Detta kommer jag åt
Detta kommer jag åt
Detta kommer jag åt
Detta kommer jag åt
<% If session("niva") = 1 Then %>
Detta kommer man åt med niva 1
Detta kommer man åt med niva 1
<%
Else
End If
If session("niva") = 10 Then%>
Detta kommer man åt om man har nivå 10
<%
Else
End If
%>
Asp NyMedlem sedan maj 200022 inlägg oj, kom på det nu...
Nybörjar grej
Nöä. det är låter inge bra!,
om man vill ha 5 olika nivåer ska man alltså ha 5 sidor i samma fil, det lär gå trögt... bättre att du gör 5 olike nivå-sid-filer typ bajs(1).asp ,bajs(2).asp , bajs(3).asp och sen gör du bara redidirect till rätt nivå. och en koll med session att han inte försöker smyga in på fel nivå.
Det går inte nämnvärt trögare. Det är ju två olika skolor, en del vill ha all logik i en fil och en del vill dela upp det i flera filer. En nackdel är dock att det kan lätt bli oöverskådligt om man samlar all logik i en fil.
------------------
1010011010 - The binary number of the beast