Avatar billede snooby Nybegynder
14. december 2005 - 16:18 Der er 34 kommentarer og
1 løsning

login script menu

Hey jeg skal have lavet:

sådan vis jeg ikke er loget ind på min webside skal der vises en slags menu(menu.asp).

vis jeg logger ind på min side skal der vises en anden menu(admin_menu.asp), iøvrigt skal jeg have lavet sådan at denne side kun kan vises vis jeg er logget ind, sådan man ikke bare kan skrive stien og komme der ind på den måde.

har lavet selve loginformen, den er lavet sammen med menu.asp altså sådan der er en login form under selve menuen.

skal så have lavet den anden menu (admin_menu.asp)hvor der istedet for en "login form" skal være en "logudknap". hvordan laves det ?

det her er hvad jeg har kodet kan ikke komme længere, men tror det giver en forståelse af havd jeg vil:

--------------------------
<%

act = request.Querystring("act")

if act = "check" then
user = request.Form("user")
pass = request.Form("pass")

if user = "Snooby" AND pass = "Snooby1123" then
session("admin") = "ja"
end if
end if
if session("admin") = "" then

%>
    'du kan se menuen på www.Snooby.dk
<!-- #include file="menu.asp" -->
<%
else

if session("admin") = "ja" then

%>

  'i denne admin menu, skal jeg have lavet en logud knap, der hvor formen er i den anden
<!-- #include file="admin_menu.asp"-->
    ' når man er logget ud skal den selv gå tilbage til menu.asp

<&
end if
end if
%>
---------------------------------


Sti lde spørgsmål der er behov for. kunen virkelig godt bruge lidt hjælp
Avatar billede snooby Nybegynder
14. december 2005 - 16:20 #1
Det der med at je gskal ahve lavet sådan at der er nogle siden man ikke skulle kunne se med mindre man er logget ind.

der skal jeg jo nok have et script til de sider med:
vis jeg er logget ind kan jeg se siden

vis ikke

skal der stå noget i retnignen af

login for at se denne side
Avatar billede fennec Nybegynder
14. december 2005 - 16:25 #2
Øverst på alle dine sider, som skal beskyttes af login smider du koden:
if session("admin") <> "ja" then
  response.write "Du er ikke logget ind"
  response.end
end if

Eller hvilken session det nu er du tjekker for.
Avatar billede snooby Nybegynder
14. december 2005 - 16:26 #3
okay men vil mit script for oven fungere med de der include's ?
Avatar billede snooby Nybegynder
14. december 2005 - 16:27 #4
og hvordan laver man et logud script ?
Avatar billede fennec Nybegynder
14. december 2005 - 16:27 #5
Det burde det.

Samme metode bruges også til at vise login/logud knap:
<% if session("admin") = "ja" then %>
<input type="button" value="Logud">
<% else %>
<input type="button" value="Logind">
<% end if %>
Avatar billede snooby Nybegynder
14. december 2005 - 16:31 #6
det der script giver da bare en funktions løst knap ?
Avatar billede snooby Nybegynder
14. december 2005 - 16:34 #7
kan man skrive en form til begge menuer spdan så ?

<% if session("admin") = "ja" then %>
<input type="button" value="Logud">
<% else %>
<form action="admin_login.asp?act=check" method="post">
                                        Administrator login:<br />
                                        <input type="text" name="user" /><br />
                                        <input type="password" name="pass" /><br />
                                        <input type="submit" value="Logind" />
                                        </form>
<% end if%>
Avatar billede fennec Nybegynder
14. december 2005 - 16:36 #8
Du smider den tilhørende funktion på. Højest sansynlig et "link":
<% if session("admin") = "ja" then %>
<input type="button" value="Logud" onClick="location.href='logud.asp'">
<% else %>
<input type="button" value="Logind" onClick="location.href='login.asp'">
<% end if %>

I logud.asp nulstiller du alle session:
session("admin") = ""
session.abandon() '<--nulstiller alle session efter redirect
response.redirect("forside.asp")

Det er vigtigt at nulstille vigtige session manuelt, da jeg har oplevet at abandon() ikke virker.
Avatar billede fennec Nybegynder
14. december 2005 - 16:37 #9
Ja, du kan godt smide en form på hver.
Avatar billede snooby Nybegynder
14. december 2005 - 16:41 #10
dvs jeg kan lave en login fil med formen(fx. login.asp):

<form action="admin_login.asp?act=check" method="post">
Administrator login:<br />
<input type="text" name="user" /><br />
<input type="password" name="pass" /><br />
<input type="submit" value="Logind" />
</form>


og en logud fil(fx logud.asp) hvor i der stå:

session("admin") = ""
session.abandon()
response.redirect("index.asp")


og så kan jeg bare skrive i begge menuer:

<% if session("admin") = "ja" then %>
<input type="button" value="Logud" onClick="location.href='logud.asp'">
<% else %>
<input type="button" value="Logind" onClick="location.href='login.asp'">
<% end if %>
Avatar billede fennec Nybegynder
14. december 2005 - 16:49 #11
Nemlig :o)
Avatar billede snooby Nybegynder
14. december 2005 - 16:51 #12
sejt det vil jeg lige prøve så. og jeg kunne godt gøre det der med de includerede filer

altså vis jeg er logget ind ksal den vise en menu

ellers en anden ?
Avatar billede fennec Nybegynder
14. december 2005 - 16:57 #13
Jeps:
<% if session("admin") = "ja" then %>
<!-- #include file="admin_menu.asp"-->
<% else %>
<!-- #include file="menu.asp" -->
<% end if %>

Der er dog en bemærkning til include på denne måde. ALLE include filer bliver hentet ind FØR NOGET ANDET. Så begge filer er derinde, men pga if-sætningen, er det kun den ene der bliver kørt.

Det dur altså ikke have f.eks ASP-funktionen heri. Da funktioner er globale og derfor uden for if-sætningen. Det er derfor kun anvendlig, hvis der sker ren udskrift i include filerne.
Avatar billede snooby Nybegynder
14. december 2005 - 17:14 #14
skal det her også stå på alle sider ?

<%

act = request.Querystring("act")

if act = "check" then
user = request.Form("user")
pass = request.Form("pass")

if user = "Snooby" AND pass = "Snooby1123" then
session("admin") = "ja"
end if
end if
%>
for at det kan virke ?
Avatar billede snooby Nybegynder
14. december 2005 - 23:00 #15
vis jeg bruger den der
<% if session("admin") = "ja" then %>
<!-- #include file="admin_menu.asp"-->
<% else %>
<!-- #include file="menu.asp" -->
<% end if %>

så viser den godt nok menu.asp og i menu asp har jeg jo lavet den der form til at logge ind med. og så når jeg logger ind så hopper den bare tilbage til samme side igen.. altså med den samme menu.. den skifter ikke ti ladmin_manu.asp :S
Avatar billede fennec Nybegynder
15. december 2005 - 11:41 #16
post 17:14:09
Nej, det skal kun være på loginsiden.

post 23:00:04
Kunne virke som om du ikke tjekker/for sat de rigtige sessions.

Du skal have en login side og det eneste der skal være på den er:
[admin_login.asp]
<%
if Request.querystring("act") = "check" then
  user = request.Form("user")
  pass = request.Form("pass")
  if user = "Snooby" AND pass = "Snooby1123" then
    session("admin") = "ja"
    response.redirect("forside.asp")
  else
    Response.write "Forkert login."
  end if
end if
%>

Så skal dette virke:
<% if session("admin") = "ja" then %>
<!-- #include file="admin_menu.asp"-->
<% else %>
<!-- #include file="menu.asp" -->
<% end if %>
Avatar billede snooby Nybegynder
15. december 2005 - 14:14 #17
okay dvs at jeg kan lave dette i en fil:
<% if session("admin") = "ja" then %>
<!-- #include file="admin_menu.asp"-->
<% else %>
<!-- #include file="menu.asp" -->
<% end if %>

og så includere filen der hvor jeg vil have menuen på min site til at være ?
Avatar billede snooby Nybegynder
15. december 2005 - 14:15 #18
og i min form - hvad skal jeg så rette formens action til ?  evt. admin_login.asp ?
Avatar billede fennec Nybegynder
15. december 2005 - 14:20 #19
Ifølge din post 14/12-2005 16:41:07 er din forms action allerede "admin_login.asp"

Du kan godt smide if-koden i en include fil, også smide den der hvor menuen skal være.
Avatar billede snooby Nybegynder
15. december 2005 - 14:24 #20
okay hehe ja det er den der... men havde endret den ;) Jeg forsøger lgie igen så.. håber jeg fatter det
Avatar billede snooby Nybegynder
15. december 2005 - 14:31 #21
WHAT!!!! DET VIRKER!!!! TAK MANGE TAK !!!!

Og så de sidder man kun skal have lov til at komme til vis man er logged ind der ksal jeg bare includere en fil med:

if session("admin") <> "ja" then
  response.write "Du er ikke logget ind"
  response.end
Avatar billede fennec Nybegynder
15. december 2005 - 14:35 #22
Nemlig...

ps. men du mangler lige en "End IF" så if-sætningen er afsluttet :o)
Avatar billede snooby Nybegynder
15. december 2005 - 14:36 #23
hah okay
Avatar billede snooby Nybegynder
15. december 2005 - 14:41 #24
det virker ikek helt..

prøv at gå her ind

http://www.snooby.dk/admin_site.asp

den side ahr jeg skrevet det der

<%if session("admin") <> "ja" then
  response.write "Du er ikke logget ind"
  response.end
end if%>
Avatar billede snooby Nybegynder
15. december 2005 - 14:42 #25
skal det stå et specielt sted på siden ?
Avatar billede fennec Nybegynder
15. december 2005 - 14:54 #26
Jeg kan ikke komme ind på siden...

Husk din session lever i 15-20 min, så din session lever måske stadig, selv om du har lukket browseren ned. Prøv at bruge logud koden fra min post 14/12-2005 16:36:02. Du kan evt bruge FireFox i stedet for IE eller omvente, da de får hver deres session.
Avatar billede snooby Nybegynder
15. december 2005 - 14:56 #27
hmm jamen har lavet en logud knap...

har lavet den i admin_menu altså istedet for formen er den skiftet ud med

<a href="logud.asp> klik her for at logge ud>

[logud.asp]
<%
session("admin") = ""
session.abandon()
response.redirect("index.asp")
%>
Avatar billede snooby Nybegynder
15. december 2005 - 15:05 #28
Men har lagt merke til.. har jo en script til min shout box..

der er den der login på også:
<%

act = request.Querystring("act")

if act = "check" then
user = request.Form("user")
pass = request.Form("pass")

if user = "Snooby" AND pass = "Snooby1123" then
session("admin") = "ja"
end if
end if
if session("admin") = "" then

%>


Vis jeg logger ind fra index.asp
og så kommer der en menu op hvor jeg har et link til admin_site
på admin site har jeg et link til det der script med shotboxen.
vis jeg er logget ind kan jeg trykke på linket og gå direkte ind og skrive en ny besked i den.

Vis ikke jeg er logget ind (altså vis jeg har brugt logud knappen) så kan je gstadig komme ind på admin_site.asp ved at skrive stien...

Men når jeg så trykker på linket til min shoutbox så kommer den login form som er skrevet sammen med shoutboxen frem... det gør den ikke vis jeg ahr logget mig ind på forhånd fra index.asp.. vis du forstå hvor jeg vil hend?
Avatar billede snooby Nybegynder
15. december 2005 - 15:08 #29
og nu har jeg lige været inde på min shotbox og endre tekstn. gi kder ind ved at logge ind på index.asp og gå via links ind til der hvor jeg kan skrive beskederne.. men da jeg havde skrevet beskeden og gik tilbage til snooby.dk så var jeg ikke logget ind længere... elelr den viste ivertfald ikke admin_menu
Avatar billede fennec Nybegynder
15. december 2005 - 15:14 #30
Jeg kan ikke helt forstå du kan komme ind. Nu har jeg prøvet at logge ind (og gå ind i admin), og ud igen. Også kan jeg ikke komme ind i admin. Kunne virke som om du har noget casch liggende i din browser. Prøv at slette din casch (funktioner >> indstillinger >> slet filer)
Avatar billede snooby Nybegynder
15. december 2005 - 15:15 #31
nåå ja måske

men det vil sige det virker osm det skal på din comp ?
Avatar billede fennec Nybegynder
15. december 2005 - 15:20 #32
Jeps.
Men prøv selv i en anden browser model (FF, NS, Opera). Der virker det sikkert også for dig.
Avatar billede snooby Nybegynder
15. december 2005 - 15:21 #33
sådan nu virker det vist.. har lige et lille spørgsmål mere og så er det vist det sidtse for nu..

nu vil jeg så gerne have at når man skriver stien til www.snooby.dk/shout_admin.asp så vis man ikke er logget ind vil jeg gerne have den smider en til forsiden..
vis man er logget ind skal den self bare gå der ind
admin_site.asp

<%

act = request.Querystring("act")
if act = "check" then
user = request.Form("user")
pass = request.Form("pass")

if user = "Snooby" AND pass = "Snooby1123" then
session("admin") = "ja"
end if
end if
if session("admin") = "" then

%>
<form action="shout_admin.asp?act=check" method="post">
Du skal logge ind før du kan skrive<br />
<input type="text" name="user" /><br />
<input type="password" name="pass" /><br />
<input type="submit" value="Logind" />
</form>

<%

if session("admin") = "ja" then
%>
<form action="shout_admin.asp?act=insert" method="post">
<label style="float:left;width:100px;">Overskrift:</label><input type="text" name="oskrift" /><br />
<label style="float:left;width:100px;">Besked:</label><textarea name="besked" cols="15" rows="10"></textarea><br />
<label style="float:left;width:100px;"></label><input type="submit" value="Send" />
</form>
<%
end if
if act = "insert" and session("admin") = "ja" then
set rs = Server.CreateObject("ADODB.Recordset")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db/tagwall.mdb")
SQL = "Select * from shout"
rs.open SQL, strDSN, 1, 3

rs.update
rs("oskrift") = request.Form("oskrift")
rs("besked") = request.Form("besked")
rs.update
session.abandon
'Sendes videre til shout.asp eller evt index.asp
response.redirect "shout.asp"

end if

end if
%>
Avatar billede fennec Nybegynder
15. december 2005 - 15:30 #34
Bare smid dette i toppen:
<%if session("admin") <> "ja" then
  response.redirect("forside.asp")
  response.end
end if%>
Avatar billede snooby Nybegynder
15. december 2005 - 15:31 #35
okay danke
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester