Avatar billede Slettet bruger
09. maj 2006 - 21:17 Der er 32 kommentarer og
1 løsning

Login script

Hej

Hvordan laver man et login script, og et script der gør at man kun kan komme ind på siden hvis man er online?

:)
Avatar billede sneakraid Nybegynder
09. maj 2006 - 21:25 #1
Her har du i hvert fald et udemærket login script ;)

http://activedeveloper.dk/artikler/default.asp?articleid=88
Avatar billede fire-fox Nybegynder
09. maj 2006 - 21:25 #2
Avatar billede radiohead Nybegynder
09. maj 2006 - 21:42 #3
Her er også et meget simpelt script, hvis det ikke er en hel række af mennesker der skal kunne logge ind...
------------------------
Indtast Brugernavn og password:
<br><br>
<form method="post" action="login.asp?action=login">
Login:<br>
<input type="text" name="login" size="20">
<br><br>
Password:<br>
<input type="password" name="password" size="20">
<br><br>
<input type="submit" value="Log ind">
</form>

<!-------- Login thingy ---------->
<%
If request("action") = "login" then

    If request.Form("login") = "admin" AND Request.Form("password") = "admin" Then
    Session("login") = "JA"
    Session.Timeout = 30
    Response.Redirect("beskyttet-side.asp")

Else

Response.Write "<font color='red'>Du har skrevet forkert brugernavn eller password.</font>"
    End If

End If
%>


------------
På den beskyttede side, smider du bare et lille tjek ind øverst, som ser således ud:

<%
If Session("login") <> "JA" Then
    Response.Redirect("../login.asp")
End If
%>
Avatar billede Slettet bruger
10. maj 2006 - 15:00 #4
Skal være til et brugersystem
Avatar billede sneakraid Nybegynder
10. maj 2006 - 15:48 #5
Det skulle det jeg referede til, også sagtens kunne bruges til. ;)
Avatar billede Slettet bruger
10. maj 2006 - 18:08 #6
Det link du skrev prøvede jeg men det gider ikke virke www.leol.dk/opret.asp <-- Admin kodeord og brugernavn
Avatar billede sneakraid Nybegynder
10. maj 2006 - 18:24 #7
Arh nu er jeg vist med. Du vil gerne have sådan at man kan oprette en bruger? Og herefter logge ind?
Avatar billede Slettet bruger
11. maj 2006 - 12:53 #8
Ja.. Har lavde opret systemet. Nu mangler jeg et login system
Avatar billede sneakraid Nybegynder
11. maj 2006 - 18:23 #9
Fint nok. Det kan det script jeg linkede til sagtens klare, men du siger du har prøvet? Fik du nogen fejl, eller noget? Eller er der noget du ikke helt forstår ved scriptet? Så bare skriv løs, så skal jeg se om jeg kan forklare/fixe scriptet til dig, så det virker ;)
Avatar billede Slettet bruger
11. maj 2006 - 20:15 #10
Forstod nok ikke scripet..
Avatar billede Slettet bruger
11. maj 2006 - 20:16 #11
Eller jeg kan ikke få den til at arbejde med min database
Avatar billede sneakraid Nybegynder
12. maj 2006 - 00:52 #12
Jeg ved ikke om du har fundet et login script, men ellers har jeg lige prøvet at gøre det her script klar til din database, da jeg kiggede et det andet indlæg du har skrevet her på experten, hvor du skal oprette brugere. Men prøv det her:

<%
' Hvis der er blevet trykket på knappen "Login"
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
  ' Her forberedes de indtastede værdier til validering
  strUID = Trim(Replace(Request.Form("Brugernavn"),"'",""))
  strPWD = Trim(Replace(Request.Form("Kodeord"),"'",""))

  ' Hvis der er skrevet noget i både brugernavn og adgangskode
  If Len(strUID) > 0 And Len(strPWD) > 0 Then

    ' DSNLess forbindelse til databasen
    Set myConn = Server.CreateObject("ADODB.Connection")
    myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/db/brugersystem.mdb")

    ' Opbygning af SQL streng
    strSQL = "SELECT * FROM bruger WHERE (Brugernavn = '" & strUID & "') AND (Kodeord = '" & strPWD & "')"

    Set rs = myConn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
      ' Hvis brugeren fandtes i databasen
      intUID = rs("BrugerID")
    Else
      ' Hvis brugeren ikke fandtes i databasen
      strERR = "Du blev ikke godkendt af systemet"
    End If

    ' Rydder op i vores connection objekt
    myConn.Close
    Set myConn = Nothing

    If Len(intUID) Then
      ' Hvis variablen intUID indeholder en værdi sættes denne i sessionen "UserID" og brugeren bliver sendt videre
      Session("UserID") = intUID
      Response.Redirect("din_login_side.asp")
    End If
  Else
    ' Hvis der ikke var angivet brugernavn og adgangskode
    strErr = "Du skal skrive både brugernavn og adgangskode"
  End If

  If Len(strErr) > 0 Then
    ' Her laves fejlmeddelsen om til rød skrift
    strErr = "<p><font color=red>" & strErr & "</font></p>"
  End If
End If
%>
<html><head>
<title>Login script</title>
</head><body>

<form method="POST" action="login.asp">
<p><font size="4">Angiv brugernavn og adgangskode</font></p><%=strErr%>
<table border="0">
<tr>
<td width="50%">Brugernavn:</td>
<td width="50%"><input type="text" name="Brugernavn" size="20"> (test)</td>
</tr>
<tr>
<td width="50%">Adgangskode:</td>
<td width="50%"><input type="password" name="Kodeord" size="20">
(test)</td>
</tr>
</table>
<p><input type="submit" value="Login" name="Action"></p>
</form>

</body></html>
Avatar billede Slettet bruger
12. maj 2006 - 11:25 #13
Er det ikke login.asp? Og beskyttet.asp og den anden side skal jeg stadigvæk bruge ikke?
Avatar billede Slettet bruger
12. maj 2006 - 11:28 #14
Hver gang jeg prøver og skrive kodeord og brugernavn og trykker login så siger den at siden ikke kan vises. http://www.leol.dk/login.asp Brugernavn: Admin Kodeord: Admin
Avatar billede sneakraid Nybegynder
12. maj 2006 - 13:28 #15
Der kommer en fejl ved mig. Hvad står der i linie 21, i login.asp?
Avatar billede sneakraid Nybegynder
12. maj 2006 - 13:42 #16
Men siden du ikke ser fejlen son mig, er det muligt du har "Vis meddelser om uskadelig HTTP fejl" slået til. Du kan slå dette fra ved i din browser at gå op i Funktioner > Internet Egenskaber > Advanceret (faneblad) > Og find så "Vis meddelser om uskadelig HTTP fejl" og fjern fluebenet ud for den.

Ang. den fejl du får, tror jeg det er den her linie det drejer sig om.

intUID = rs("BrugerID")

Hvad hedder dit ID felt i bruger tabellen, i databasen?
Avatar billede Slettet bruger
12. maj 2006 - 18:14 #17
Den hedder bare id :-)
Avatar billede Slettet bruger
12. maj 2006 - 18:17 #18
Den hedder bare id :-) Det virker.. Giv Kast et svar
Avatar billede Slettet bruger
12. maj 2006 - 18:22 #19
Kan ikke også lige forklare hvordan man laver scripet i andre koder jeg allerede har lavet?
Avatar billede Slettet bruger
12. maj 2006 - 18:25 #20
Altså sådan jeg forstår det er man skal oprette en masse nye sider?
Avatar billede sneakraid Nybegynder
12. maj 2006 - 18:53 #21
Jeg kan se du har en login form på din forside. Ændre action til action="login.asp". I login scriptet skal du bare redirect'e tilbage til forsiden f.eks. Response.Redirect("http://www.leol.dk")

I stedet for:

Response.Redirect("din_login_side.asp")

Men læg mærke til at, inden der bliver redirectet i login scriptet, bliver en Session sat lig med dit brugerid. Så kan du bare tjecke på det, på alle dine andre sider og vise noget forskelligt, fra hvis du ikke er logget ind. Det kan du gøre sådan her:

If isEmpty(Session("UserID")) Then
  'Det her ser folk hvis de ikke er logget ind.
Else
  'Det her ser folk hvis de ER logget ind.
End Id

Hvis du har nogle sider, som folk skal være logget ind for at se. Kan du f.eks. placere det her i toppen af dine "beskyttede" sider.

If IsEmpty(Session("UserId")) Then
  Response.Redirect("login.asp")
End If
Avatar billede sneakraid Nybegynder
12. maj 2006 - 18:55 #22
Her kommer lige et svar ;)

Håber du forstod det jeg skrev, ellers må du endelig spørge igen. Hehe
Avatar billede sneakraid Nybegynder
12. maj 2006 - 18:55 #23
Så glemte jeg at trykke svar :D
Avatar billede Slettet bruger
12. maj 2006 - 19:03 #24
Hehe:P Mange tak:)... Tak igen for de hurtige svar
Avatar billede Slettet bruger
12. maj 2006 - 19:07 #25
Det der med action="" virker ikke.
Avatar billede sneakraid Nybegynder
12. maj 2006 - 19:15 #26
Prøv med den her form på forsiden:

<form action="login.asp" method="post"><font  color="#FFFFFF" style="font-size:12px;">Brugernavn: <input type="text" name="Brugernavn" id="Brugernavn"> Kodeord: <input type="password" name="kodeord" id="kodeord"> <input type="checkbox" name="husk">Husk kodeord? <input type="submit" value="Logon" style="height: 20px;font-size: 12px;color: green;width:100px;font-weight: bold;font-family:tunga;"></form>
Avatar billede Slettet bruger
12. maj 2006 - 19:38 #27
Ok.. Tak.. Men hvordan ændre man så hvis der er fejl?
Avatar billede Slettet bruger
12. maj 2006 - 19:44 #28
Og lige 1 ting til.. Hvordan laver man en logud form?
Avatar billede sneakraid Nybegynder
12. maj 2006 - 21:33 #29
Jeg har et bedre forslag til hvordan du kan lave dit login på. Jeg kan se at din forside/startside hedder index.htm. Prøv at ændre den til index.asp

Placer herefter login scriptet øverst i index.asp filen. Husk at fjerne det html + form som allerede står i scriptet.

Kræver selvf. at din eksisterende login form i index.asp, skal ændres til følgende:

<form action="index.asp" method="post"><font  color="#FFFFFF" style="font-size:12px;">Brugernavn: <input type="text" name="Brugernavn" id="Brugernavn"> Kodeord: <input type="password" name="kodeord" id="kodeord"> <input type="checkbox" name="husk">Husk kodeord? <input type="submit" value="Logon" style="height: 20px;font-size: 12px;color: green;width:100px;font-weight: bold;font-family:tunga;"></form>

Så kan du skrive sådan her <%=strErr%>, et sted i index.asp, hvor du vil have din fejlmeddelelse vist :)
Avatar billede sneakraid Nybegynder
12. maj 2006 - 21:37 #30
Hvis du skal kunne logge ud, kan du lave en fil som f.eks. hedder logud.asp. Her i skriver du følgende:

<%
Session.Abandon()
Response.Redirect("index.asp")
%>

Og laver et link lign. det her:

<a href="logud.asp">Logud</a>

Derved "dræber" du alle sessions, hvilket includerer den session som bliver oprettet ved login. Og så er du logget ud :)
Avatar billede Slettet bruger
12. maj 2006 - 23:26 #31
Mener du ikke at jeg skal ændre siden som hedder indhold.asp som viser iframen og det der. Index.htm viser kun frameset
Avatar billede Slettet bruger
12. maj 2006 - 23:34 #32
Det virker nu. Mange tak igen
Avatar billede sneakraid Nybegynder
13. maj 2006 - 00:03 #33
Det var så lidt. Og tak for point ;)
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