Brugernavn:




Kodeord: Husk
Forside Forum Artikler Downloads Søg
 

Lille login i JavaScript


Det kan være praktisk at beskytte sine sider, hvis der er noget, man ikke vil have folk ser. Uanset hvad det er, er et password system et utroligt godt alternativ. Derfor synes jeg, du skal lære at lave et i JavaScript. Ikke fordi det er det sikreste af dem alle, noget med databaser er langt mere effektivt, men fordi JavaScript er platformuafhængigt, dvs. alle kan bruge det. Men lad os bare komme i gang.

Vi skal bruge 2 sider: logind.html og en side, vi kalder admin123.html. Det er vigtigt, at du kalder dem hvad jeg har skrevet, og at de er HTML filer, ellers kan man ikke logge ind. Dette kan du naturligvis senere ændre.

Grunden til, vi kalder den admin123 er, at ’admin’ er ens brugernavn, og ’123’ er ens kodeord. Hvis brugeren indtaster ’admin’ i brugernavn feltet, og ’123’ i password feltet, vil han komme hen til ’admin123.html’. Systemet bygger nemlig på, at brugeren indtaster adressen i felterne, og hvis han indtaster det rigtige, ja så får han den hemmelige side at se. Dette har dog en lille ulempe: Hvis man indtaster f. eks. ’hej’ i brugernavn feltet, og ’456’ i password feltet, kommer man hen til siden ’hej456.html’, og da den ikke eksisterer i forvejen, vil vedkommende få en 404 fejl. Dette problem kan rettes med .htaccess, hvilket der også er skrevet en artikel om på rowl.

#logind.html
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Language" content="da" />
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  6. <title>Log ind</title>
  7. <script language="javascript" type="text/javascript">
  8. // En javascript funktion, der skifter til en bestemt side, alt efter hvad brugeren indtaster
  9. function logind() {
  10.   var brugernavn = document.getElementById("brugernavn"); // brugernavn-feltet
  11.   var kodeord = document.getElementById("kodeord"); // kodeord-feltet
  12.   document.location.href = brugernavn.value + kodeord.value + ".html"; // gå til den side, brugeren indtaster
  13. }
  14. </script>
  15. </head>
  16. <body>
  17. <!-- De felter, brugeren skal bruge til at "logge ind" med -->
  18. Brugernavn:<br />
  19. <input type="text" id="brugernavn" /><br />
  20. Password:<br />
  21. <input type="password" id="kodeord" /><br />
  22. <input type=”button” value=”Log ind” onclick=”logind();” />
  23. </body>
  24. </html>

Det er denne side, vedkommende logger ind på. Den kan du i princippet kalde hvad du vil, den er ikke så vigtig. Det er også kun her, vi gør brug af JavaScript.

  • var brugernavn = document.getElementById("brugernavn");

Vi laver en variabel, som vi kalder ’brugernavn’. Den ’vikarierer’ for brugernavnsfeltet. document.getElementById() bestemmer, at vi vil arbejde med et bestemt element, som vi definerer ud fra et ID. Det kan du også se på brugernavn- og password-feltet; i stedet for at bruge attributten name bruger vi id. Præcis det samme gør vi med kodeordsfeltet.

  • document.location.href = brugernavn.value + kodeord.value + ".html";

document.location.href bestemmer, at siden skal skifte til det, der står efter lighedstegnet (’=’).
brugernavn.value er den værdi, eller tekst, der står i brugernavnsfeltet. Det samme gælder selvfølgelig for kodeord.value. Nu har vi navnet på filen. Nu mangler vi bare dens endelse. Siden vi har lavet en HTML fil, skriver vi .html. Det er her du skal ændre det, hvis du har lavet en anden type fil, f. eks. en PHP fil, i stedet.

Så er vi færdige med funktionen. Resten er ren HTML, som bruges til at kalde funktionen.

  • <input type=”button” value=”Log ind” onclick=”logind();” />

Enhver med lidt erfaring indenfor HTML ved, at dette laver en standard knap. Vi vælger ikke submit som vores knap, for vi gør ikke brug af en formular.

  • onclick=”logind();”

onclick er en såkaldt ’event’; den bestemmer hvad der skal ske, og hvornår det skal ske, og i dette tilfælde skal det ske, når brugeren trykker (’clicker’) på knappen. Når vedkommende gør det, kalder vi vores JavaScript-funktion, logind().

#admin123.html

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Language" content="da" />
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  6. <title>Her er den hemmelige side</title>
  7. </head>
  8. <body>
  9. <p>Dette er en hemmelige side!! :O</p>
  10. </body>
  11. </html>

Den nægter jeg at forklar. Det er nemlig bare en almindelig HTML side. Du kan skifte dens indhold ud med hvad du nu ønsker, det er nemlig her du lagrer alle dine hemmelige ting.

Det var det. Eller nej, det var det selvfølgelig ikke. Dette er overhovedet ikke et sikkert system, og du bør ikke gemme super hemmelige data på denne måde. Men hvis det ikke er sikkert, hvad kan du så bruge det til?

Du kan for eksempel bruge det til en lille, hemmelig klub, hvor du gemmer nogle hemmelige links, som kun dine medlemmer må se. Hvis du så ønsker at have flere brugere på en gang, opretter du bare endnu en side, for eksempel peter4zq.html, og så kan man logge ind som ’peter’, og med ’4zq’ som sit kodeord.

Slut.
Sidst redigeret 12:47 - 12/03/2006
Oprettet af:

Javascript

Point modtaget: 0

Rate:
12:22 12/03/2006

Kommentarer

Giv din mening tilkende om denne artikel, eller læs andres.
Har du spørgsmål eller brug for hjælp til denne artikel henvises du til forummet.
Jeg ville vælge at bruge MysQl database ...

God artikel ;)
Oprettet af:
  Mail
14:13 12/03/2006
http://www.html.dk/scripts/javascript/00007/
Oprettet af:
  Mail
14:23 12/03/2006
Det er rigtigt, noget lignende findes på html.dk, men jeg har ikke kopieret noget, hvilket I også vil finde ud af hvis I læser artiklen... ;) Men det var derinde fra jeg fik min inspiration, fordi jeg kunne huske engang at have brugt sådan et system
Oprettet af:
  Mail
08:51 13/03/2006
Det hele ser godt ud.
Men det skulle aldrig være du noget du har gjort bare for at skaffe dig point"s ? For det ligner det fra html.dk
Oprettet af:
  Mail
20:13 28/01/2007
Hvad med at læse min kommentar inden du anklager mig???
Oprettet af:
  Mail
11:04 17/03/2007
det er meget fint at man kan i JavaScript men det er jo 100 gang lettere og hurtigere i PHP.
Oprettet af:
  Mail
18:44 10/09/2007
hehe, nice nok :D
Oprettet af:
  Mail
02:58 17/08/2008
hehe, nice nok :D
Oprettet af:
  Mail
02:58 17/08/2008
Du skal være oprettet og logget ind for at kommentere en artikel
Copyright © Rowl.dk v/ Michael Raagaard | 2005-12 | Alle rettigheder forbeholdes