ok, var sätter du variabeln admin?
Dölja länkar för vissa användare
44 svar · 419 visningar · startad av Sico · sida 2 av 3
Trådstarten, av Sico
Jag har ett inloggningscript där jag skulle vilja dölja vissa länkar inne på admin-sidan för vissa användare. Hur gör man? Det borde väll vara en IF sats?..
Läs hela trådstarten →i databasen.. det kontrolleras ju när man loggar in vilet värde man har
i login.asp ligger bland annat denna snutten...
<%
Else
Session("User") = "Yes"
Session("UserID") = RSUser("ID")
Session("Admin") = RSUser("Admin")
Response.Redirect "ed.asp"
End If
End If
RSUser.close
Conn.close
%>
du har alltså inte skapat en variabel som heter admin, däremot har du en session som heter admin.
då måste du ju byta till if session("Admin") = "1" then...
Det verkar ju som om du inte ens definierar variabeln admin, utan bara session("Admin").
Testa att göra om länkarna till if session("Admin") = 1 then ....
Damn, @nders slog mig på mållinjen
Perfekt... nu funkar det helt perfekt..
fasen va bra denna sidan e..
tack till dom som tog er tid
Vad har du för kolumnnamn i användardatabasen? Har du en som definierar behörigheten?
Kolummen heter "Admin" och värdena är
"1" för behörighet och
"0" för ingen behörighet
Mer problem... antagligen inte lika svårt..
för att förekla så ni slipper bläddra tillbaka bland inläggen så skriver jag ilen kod jag har jusst nu till domlänkarna...
<%
sub adminlinks()
Response.Write "<A href=""ed.asp?menu=profile"">Mina inställningar</A> | "
if session("Admin") = "1" then Response.Write "<A href=""ed.asp?menu=adminmembers"">Lägg till/ta bort medlemmar</A> | "
Response.Write "<A href=""ed.asp?menu=addnews"">Lägg till nyhet</A> | "
if session("Admin") = "1" then Response.Write "<A href=""../forum/admin.asp"">Administrera Forum</A> | "
Response.Write "<A href=""ed.asp?menu=logoff"">Logga ut</A>"
end sub
%>
<%
call adminlinks()
%>
Men sen är det så att på sidan där man lägger till nyheter kan man ävern ta bort nyheter... den länken "ta bort" vill jag bara ska synas för administratorer... jag har trixat men inte klarat...
länken där ser ut såhär:
<tr>
<td width="25%"><a href="del.asp?menu=news&id=<%= RSConn("ID") %>">Ta bort</a></td>
</tr>
det hade varit lätt med en länk som var lika dan som dom förra men här funkar det inte... vad e det för simpelt fel jag gör?
är det idg's webstudio script?
nope...
jag hade tänkt mig att det skulle se ut såhär med det funkar ju inte...
<tr>
<td width="50%"><%= RSConn("Title") %></td>
<td width="25%"><%= RSConn("Date") %></td>
<td width="25%">
<%
sub adminlinks()
if session("Admin") = "1" then Response.Write "<a href=""del.asp?menu=news&id=<%= RSConn("ID") %>">">Ta bort</a>"
end sub
%>
<%
call adminlinks()
%></td>
</tr>
oj.. fick med lite för mycket...
<tr>
<td width="25%">
<%
sub adminlinks()
if session("Admin") = "1" then Response.Write "<a href=""del.asp?menu=news&id=<%= RSConn("ID") %>">">Ta bort</a>"
end sub
%>
<%
call adminlinks()
%></td>
</tr>
if session("Admin") = "1" then Response.Write "<a href=""del.asp?menu=news&id=" & RSConn("ID") & """>Ta bort</a>"
nåt sånt?
Kontrollera att RSConn("ID") returnerar ett värde.
Om du vill lägga in din länk i en Response.Write skriver du såhär:
Response.Write "<a href=""del.asp?menu=news&id=" & RSConn("ID") & """>Ta bort</a>"
Funkade inte jeps0... antar att du menar att det skulle se ut såhär va..
</tr>
<td width="25%"><%
sub adminlinks()
if session("Admin") = "1" then Response.Write "<a href=""del.asp?menu=news&id=""" & RSConn("ID") & """>Ta bort</a>"
end sub
%></td>
</tr>
har du testat det jag skrev ovan?
mm.. negativt...
sidan kan inte visas
jag undrar hur många gånger jag sagt detta, men:
stäng av 'friendly error messages' i webbläsarhelvetet!
hur kan man jobba när man inte ser vad som blir fel?
tools -> internet options -> advanced -> friendly http error messages
eller
verktyg -> internetalternativ -> avancerat -> visa egna http-felmeddelanden
vad gäller det svenska så är jag inte riktigt helt säker på att det står precis så.

