Avatar billede axel Nybegynder
15. maj 2002 - 18:27 Der er 41 kommentarer og
1 løsning

login

Jeg er lige ved at lære ASP, og vil gerne vide hvordan man laver et meget SIMPELT login tjek. Kodeord og brugernavn skal hardkodes og der bliver aldrig mere end 1 bruger. Selve tjekket har jeg sådan set lavet med if sætninger, men hvordan får man formens action"" til at videre sende til en anden side EFTER man har tjekket for kodeord og brugernavn. Det er noget med submit jeg ikke kender til tror jeg.
Avatar billede aspprogram Nybegynder
15. maj 2002 - 18:30 #1
Response.Redirect("tast.asp")
Avatar billede tuctoh Nybegynder
15. maj 2002 - 18:30 #2
Jeg havde lige skrevet det... Men da jeg skulle slette et bogstav, giv den en tak tilbage - og det geniale script her på siden, sørgede for at det hele blev slettet!

Someone else do this...
Avatar billede mccannon Nybegynder
15. maj 2002 - 18:30 #3
side1.asp :
<% @Language=VBscript%>
<% Option explicit%>
<% response.expires = 0 %>
<% session.abandon %>




<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
<head>
<title>login session</title>
</head>

<body>

<form action="beskyt.asp" method="post">
    <table border="1">
      <tr>
        <td>
        <input type="text" name="logon" value="">
        </td>
      </tr>
     
      <tr>
        <td>
        <input type="text" name="pass" value="">
        </td>
      </tr>
     
      <tr>
        <td>
        <input type="submit" value="log på">
        </td>
      </tr>
     
    </table>
</form>



</body>

</html>
Avatar billede kimiwan Nybegynder
15. maj 2002 - 18:32 #4
<%
if len(request.form)>0 then 'formen submitted

if request.form("brugernavn") = "kurt" and request.form("kodeord") = "ole" then 'brugernavn og password ok
session("loggedin") = 1
response.redirect("beskyttetside.asp")
else 'brugernavn og password ikke ok!
session("loggedin") = 0
end if

else 'formen ikke submittet - vis formular!
%>
<form action="dennesidesnavn.asp" method="post">
Brugernavn: <input type="text" name="brugernavn"><br>
Password: <input type="password" name="kodeord"><br>
<input type="submit" value="Log ind">
</form>
<%
end if
%>


i toppen af beskyttetside.asp skrivre du så:

<%
if session("loggedin") <> 1 then response.redirect("logindsiden.asp")
%>
Avatar billede aspprogram Nybegynder
15. maj 2002 - 18:33 #5
<%
If pass = ok Then
Response.Redirect("test.asp")
End if
%>
Avatar billede mccannon Nybegynder
15. maj 2002 - 18:35 #6
beskyt.asp .:

<% @Language=VBscript%>
<% Option explicit%>
<% response.buffer = true %>



<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
<head>
<title>loginsession</title>
</head>

<body>
<%
Dim Password
Dim strFormlogon
Dim strFormpass
Dim Brugernavn

strFormlogon = request.form("logon")
strFormpass = request.form("pass")

brugernavn ="tommy"
password =  "hansen"
arrLoginpro = split(strLogininfo,",")


if strFormlogon = Brugernavn and strFormpass = Password then
  session("Brugerlogon")="ok"
  response.redirect "side3.asp"
end if



response.redirect "side1.asp?fejl=2"

%>



</body>

</html>
Avatar billede mccannon Nybegynder
15. maj 2002 - 18:35 #7
ignore den her linie
arrLoginpro = split(strLogininfo,",")
Avatar billede mccannon Nybegynder
15. maj 2002 - 18:37 #8
if session("brugerlogon") <> "ok" then
response.redirect "login.asp"
end if

det her i toppen af hver fil eller som en include
Avatar billede axel Nybegynder
15. maj 2002 - 19:01 #9
Det der session i alle sammen bruger,...skal det ikke oprettes et sted, eller er det automatisk en del af en asp side ?
Avatar billede axel Nybegynder
15. maj 2002 - 19:02 #10
og jeg gider ikke bare copy paste koden, jeg vil vide hvad der foregår
Avatar billede kimiwan Nybegynder
15. maj 2002 - 19:10 #11
det sker automatisk
Avatar billede axel Nybegynder
15. maj 2002 - 19:51 #12
Hvorfor virker det her ikke ?

<%
if request.form("brugernavn") = "kurt" and request.form("kodeord") = "ole" then
%>
<form action="ok.asp" method="post">
<%
else
%>
<form action="notok.asp" method="post">
Brugernavn: <input type="text" name="brugernavn"><br>
Password: <input type="password" name="kodeord"><br>
<input type="submit" value="Log ind">
</form>
<%
end if
%>
Avatar billede tuctoh Nybegynder
15. maj 2002 - 20:01 #13
<%
if request.form("brugernavn") = "kurt" and request.form("kodeord") = "ole" then
response.redirect "ok.asp"
else
%>
<form action="notok.asp" method="post">
Brugernavn: <input type="text" name="brugernavn"><br>
Password: <input type="password" name="kodeord"><br>
<input type="submit" value="Log ind">
</form>
<%
end if
%>
Avatar billede tuctoh Nybegynder
15. maj 2002 - 20:02 #14
response.redirect "ok.asp" beder din ASP kode om at viderestille brugeren til siden "ok.asp", hvis du har tastet koden rigtigt.
Avatar billede axel Nybegynder
15. maj 2002 - 20:22 #15
Det kan jeg ikke få til at virke tuctoh,.... uanset hvad jeg gør så åbner den notok.asp istedet for ok.asp. Og det er ligemeget om jeg skriver kurt og ole eller bare noget vollapyk.
Ved du mere? :o)
Avatar billede kimiwan Nybegynder
15. maj 2002 - 20:49 #16
prøv med linjen her i stedet:

if lcase(trim(request.form("brugernavn"))) = "kurt" and lcase(trim(request.form("kodeord"))) = "ole" then
Avatar billede axel Nybegynder
15. maj 2002 - 21:39 #17
nej det virker ikke, jeg kan overhovedet ikke få redirect til at virke på nogen måder
Avatar billede tuctoh Nybegynder
15. maj 2002 - 21:40 #18
får du en fejl meddelelse?

Aller øverst på siden, skal du skrive:
response.buffer = true

burde virke
Avatar billede kimiwan Nybegynder
15. maj 2002 - 21:43 #19
kan du ikke prøve at sende htmlkoden til formen + det, du bruger til at tjekke/redirecte med?
Avatar billede axel Nybegynder
15. maj 2002 - 21:53 #20
jo her kommer hele koden sådan lidt opryddet:

<html>
<head>
<title>Login</title>
</head>
<body bgcolor="990033" text="#000000">
<p>&nbsp;</p>
<%
response.buffer = true
if lcase(trim(request.form("brugernavn"))) = "kurt" and lcase(trim(request.form("kodeord"))) = "ole" then
response.redirect "TMM.asp"
else
%>
<form action="lort.asp" method="post">
Brugernavn: <input type="text" name="brugernavn"><br>
Password: <input type="password" name="kodeord"><br>
<input type="submit" value="Log ind">
</form>
<%
end if
%>
</body>
</html>
Avatar billede axel Nybegynder
15. maj 2002 - 21:53 #21
hvad er der galt ?
Avatar billede mccannon Nybegynder
15. maj 2002 - 22:24 #22
Pørv nu at gøre sådan her ...

først en side med en form
login.asp
<%
response.write "<form action='valider.asp' method='post'>"
response.write "<input type='text' name='brugernavn'>"
response.write "<input type='text' name='password'>"
response.write "<input type='submit' value='login'>"
response.write "</form>"
%>

det har du for stået ik ? :)
Avatar billede axel Nybegynder
15. maj 2002 - 22:46 #23
og så skal jeg lave en side der hedder valider.asp eller hva ?
Avatar billede mccannon Nybegynder
15. maj 2002 - 22:47 #24
hmm går udfra du har forstået det :)

Anyway...når du så har trykket på login knappen i formen sender vi de in fo som bruger har tastet ind over til siden valider.asp, som ser sådan her ud

valider.asp

<% Response.buffer = true %>  <-- det gør at den response.redirect ikke melder fejl

<%

If request.form <> "" then  <-- vi går kun vidre hvis der er noget i form

    *******ligger info fra formen over i 2 variabler*************

        Formbruger = request.form("Brugernavn")
        Formpass = request.form("password")

    ***de 2 værdier som formbruger og formpass skal matche***********

        Bruger = "banan"
        Pass = "smager"

    ****Tjekker om de 2 værdier matcher*********************

      If Formbruger = Bruger AND Formpass = Pass then
        ****Sætter vores sessions variable****
        Session("logon") = "Ok"
      end if

    ***Hvis sessionen  er ok(hvis brugernavn og password  matcher)**

    If session("logon") = "ok" then
    ****sender vi ham til den beskyttede side********
    response.redirect "beskyttet.asp"
    end if

    ***Hvis sessionen ikke er ok(hvis brugernavn og password ikke matcher**

    If Session("Logon") <> "ok" then
    ***sender vi ham tilbage til login siden*********
    response.redirect "login.asp"
    end if

End if
Avatar billede kimiwan Nybegynder
15. maj 2002 - 22:51 #25
sjovt, det virker på min.

husker du at skrive http:// foran?
gi'r den nogensomhelst fejlmeddelelser?
har du tjekket at siden med koden på nu også vitterlig hedder "lort.asp"?
er du sikker på at du skriver brugernavn og password rigtigt? (at du skriver kurt og ole, ikke ole og kurt)
Avatar billede kimiwan Nybegynder
15. maj 2002 - 22:54 #26
Det var en kommentar til "Kommentar fra axel 15/05-2002 21:53:13"
Avatar billede mccannon Nybegynder
15. maj 2002 - 22:54 #27
på beskyttet.asp kan du gøre 2 ting

enten kan du lave en lille include fil som du ligger HELT i top på den side som du vil beskytte...ligsom her.:

beskyttet.asp
<!-- include file="kick.asp" -->

<%
din komemr først her
%>

kick.asp ser sådan ud .:
<% response.buffer = True %>
<%
if session("logon") <> "ok" then
response.redirect "login.asp"
end if
%>
Det gør sådan at folk ikek kan skrive sig til den beskyttede side

den anden måde er sådan her .:
<% response.buffer = True %>
<%
if session("logon") <> "ok" then
response.redirect "login.asp"
end if
%>

i princippet er det nøjagtigt det samme som sker..du slippet bare for at skrive de 4 liniers kode på de sider som du vil beskytte.
den første måde skal du kun skrive en linie

den anden måde skal du skrive 4 linier :)
Avatar billede mccannon Nybegynder
15. maj 2002 - 22:59 #28
mente at det her skulle skrives direkte på siden som skal beskyttes, istedet for en include fil..
den anden måde er sådan her .:
<% response.buffer = True %>
<%
if session("logon") <> "ok" then
response.redirect "login.asp"
end if
%>
Avatar billede axel Nybegynder
15. maj 2002 - 23:22 #29
det begynder at tage lidt form, og jeg lærer da i det mindste noget.
Nu får jeg bare følgende fejlmeddelelse når jeg trykker på login:

Microsoft VBScript compilation error '800a0400'

Expected statement

/test/valider.asp, line 12

If request.form <> "" then  <-- vi går kun vidre hvis der er noget i form
----------------------------^

Ved I hvad der er galt med det?
Avatar billede mccannon Nybegynder
15. maj 2002 - 23:26 #30
2 sec..
Avatar billede mccannon Nybegynder
15. maj 2002 - 23:31 #31
sæt lige en ' lige foran de kommentare jeg har lavet :)
Avatar billede mccannon Nybegynder
15. maj 2002 - 23:33 #32
altså
If request.form <> "" then  '<-- vi går kun vidre hvis der er noget i form
Avatar billede axel Nybegynder
15. maj 2002 - 23:40 #33
ok ingen fejlmeddelelser nu, men den bliver på login siden ved både at bruge banan og smager og også ved at skrive vollapyk. Med andre ord den chekker ikke rigtig noget
Avatar billede mccannon Nybegynder
15. maj 2002 - 23:40 #34
hjalp det ?
Avatar billede mccannon Nybegynder
15. maj 2002 - 23:43 #35
jooo det er forde..en session har en default løbe tid på 20 min

så hvis du tilføjer det her på din login.asp
skulle det virke :)
login.asp

<% response.expires = 0 %>
<% session.abandon %>


<%
If session("logon") <> "" then
session("logon") = ""
end if

response.write "<form action='valider.asp' method='post'>"
response.write "<input type='text' name='brugernavn'>"
response.write "<input type='text' name='password'>"
response.write "<input type='submit' value='login'>"
response.write "</form>"
%>
Avatar billede mccannon Nybegynder
15. maj 2002 - 23:45 #36
response.expires = 0
gør sådan at siden ikke skulle caches....

session.abandon
gør at sessionen SKULLE nulstilles..bare ikke altid det virker ordenligt så derfor gør jeg ogaå sådan her

If session("logon") <> "" then
session("logon") = ""
end if

det gør at session sættes til ingenting
Avatar billede mccannon Nybegynder
15. maj 2002 - 23:48 #37
hjalp det :)
Avatar billede axel Nybegynder
15. maj 2002 - 23:51 #38
ingen ændring,...den skulle da sende mig videre hvis jeg taster banan og smager,..ik ? den bliver på login.asp uansethvad
Avatar billede mccannon Nybegynder
15. maj 2002 - 23:53 #39
If Formbruger = Bruger AND Formpass = Pass then
Session("logon") = "Ok"
end if

lave det lige om til lille o

heh ..ups
Avatar billede axel Nybegynder
15. maj 2002 - 23:58 #40
KANON det virker nu,..du får pointene mccannon,...tak for hjælpen
Avatar billede mccannon Nybegynder
16. maj 2002 - 00:00 #41
jamen det var så lidt :)
Avatar billede mccannon Nybegynder
16. maj 2002 - 00:01 #42
håber de kommentare jeg skrev hjalp dig lidt ti lat forstå hvad de forskellgie ting gør ?
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