Avatar billede emetico Nybegynder
19. december 2003 - 13:40 Der er 31 kommentarer og
1 løsning

login script.. hvad skal jeg bruge

Hej igen igen..
hvor mange sider skal jeg bruge til et login script ?
jeg har index.asp - hvor min form er.
så har jeg login.asp samt logout.asp
hvad mangler jeg ?

min form på index.asp ser sådan her ud.

<form name="login" action="login.asp" method="post">
<td width="70%" bgcolor="#808080">Brugernavn<br><input type="text" name="username" size="20"><br>Password<br><input type="text" name="password" size="20">
<input type="submit" value="Send" name="Submit"></form>Gem?<input type="checkbox" name="C1" value="ON"><br>Opret spiller?
</form>

den skulle meget gerne refere til login.asp som ser sådan her ud.

<%
Option Explicit ' Bør ALTID være den første linie i dine asp dokumenter!


If (Request.ServerVariables("REQUEST_METHOD") = "POST") then
' Definer ALTID dine variabler:
dim strBrugernavn, strPassword

strBrugernavn = replace(request.form("username"), "'", "")
strPassword = replace(request.form("password"), "'", "")
strAdmin_lvl = replace(request.form("status"), "'", "")
strKlan_lvl = replace(request.form("status1"), "'", "")

' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/kb.mdb")
Conn.Open DSN


' SQL forespørgsel
strSQL = "Select * from Bruger where brugernavn ='" & strUsername & "' AND kodeord = '" & strKodeord & "'"


' Udfør
forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

if (not rs.bof) and (nor rs.eof) then
' brugernavn og password er fundet, sæt session til JA
Session("login") = "JA"
Session.Timeout = 30
Response.Write "<h1>Du er nu logget korrekt ind</h1>"
Response.Write "<p><a href='index.asp'></a></p>"

else

session("login") = "nej"
response.write "Forkert brugernavn eller kodeord"
response.Write "<p><a href='index.asp'></a></p>"

end if

end if%>

min logout ser sådan her ud..

<% Option Explicit %>

<%
Session("idUser") = 0

Response.Redirect "index.asp"

'//Sætter brugerens idUser session = 0 og sender brugeren til index.asp
%>

Nogen der kan hjælpe ?
Avatar billede eagleeye Praktikant
19. december 2003 - 13:44 #1
hvor mange sider skal jeg bruge til et login script ?
Det bestemmer du næsten selv.
Du kan lave alt koden på en side du kan havde flere sider til hvert deres formål, login, logout osv.

hvad mangler jeg ?
- Glemt password, send mig en mail
- Husk mig, sådan den selv udfylder brugernavn og password
Avatar billede emetico Nybegynder
19. december 2003 - 13:58 #2
jeg kan godt lide at have sider den sender til ;-)

jeg mangler noget protect.asp , men hvordan laver jeg den side ?

- Glemt password, send mig en mail -> ja det ville være rart men kan ikke selv lave det hehe

- Husk mig, sådan den selv udfylder brugernavn og password-> der har jeg sat en submit box ind. Gem?<input type="checkbox" name="C1" value="ON"> som er inden i min login form. men hvad jeg skal skrive aner jeg ikke. men jeg prøver mig frem
Avatar billede eagleeye Praktikant
19. december 2003 - 14:06 #3
Angående husk mig kan du se et eks i dette spørgsmål:
http://www.eksperten.dk/spm/440582

jeg mangler noget protect.asp hvad mener du?
Avatar billede emetico Nybegynder
19. december 2003 - 14:17 #4
sådan så man ikke bare kan skrive url også komme hen til en side hvor man skal være logget ind. der skal jeg bruge en protect.asp jeg skal include på de sider ??

nu hvor jeg har dig så har jeg lidt problemmer angår admin_lvl.
mit script ser sådan her ud:

<%
if int(session("status") = 1 then
%>
<a href="menu1.asp"></a>
<%
elseif int(session("status") = 2 then
%>
<a href="menu2.asp"></a>
<%
else
    response.redirect "index.asp"
end if
%>

men jeg har også en klan_lvl der skal tjekke om de kan få de sidste 2 links frem, men jeg gør noget galt i scriptet, det er her:

<head>
<link rel="stylesheet" href="styles.css" type="text/css">
<STYLE TYPE="text/css">
<!--
a {text-decoration: none;}
-->
</STYLE>
</head>
<table>
<td width="17%" height="241" valign="middle" align="center">
<table border="1" width="100%" bordercolor="#000000" bordercolordark="#000000" bordercolorlight="#000000">
<tr>
<td width="100%" valign="middle" align="center" bordercolor="#000000" bordercolorlight="#000000" bordercolordark="#000000" bgcolor="#333333">
<b>-!BrugerMenu!-</b>
</td>
</tr>
<tr>
<td width="100%" valign="top" align="left" bordercolor="#000000" bordercolorlight="#000000" bordercolordark="#000000" bgcolor="#808080">
<%
if int(session("status1") = <1 then
%>
    <a href="index.asp">Din Profil</a>
<br><a href="kamp.asp">Kampe</a>
<br><a href="rediger_klan.asp">Rediger Klan</a>
<br><a href="rediger_profil.asp">Rediger Profil</a>
<br><a href="opret_klan.asp">Opret klan</a>
<br><a href="din_klan.asp">Din Klan</a>
<br><a href="rediger_nyheder">Rediger Nyheder</a>
<br><a href="godkend.asp">Godkend klan/spiller</a>
<br><a href="klager.asp">Klager</a>
</td>
<%
elseif int(session("status1") = >1 then
%>
    <a href="index.asp">Din Profil</a>
<br><a href="rediger_profil.asp">Rediger Profil</a>
<br><a href="opret_klan.asp">Opret klan</a>
<br><a href="din_klan.asp">Din Klan</a>
<br><a href="rediger_nyheder">Rediger Nyheder</a>
<br><a href="godkend.asp">Godkend klan/spiller</a>
<br><a href="klager.asp">Klager</a>
</td>
<%
else
    response.redirect "index.asp"
end if
%>
</tr>
</table>

hvor jeg i mit login.asp har angivet status1:

strBrugernavn = replace(request.form("username"), "'", "")
strPassword = replace(request.form("password"), "'", "")
strAdmin_lvl = replace(request.form("status"), "'", "")
strKlan_lvl = replace(request.form("status1"), "'", "")

er jeg bare total lost? eller kan du måske hjælpe mig, du skal selvfølgelig nok få points ;-)
Avatar billede eagleeye Praktikant
19. december 2003 - 14:28 #5
Ja kan de gemmer en session variable i login scrtipet:
Session("login") = "JA"

Normalt beskytter jeg sider bare med en if sætning på siden:

<% if Session("login") <> "JA" then
  Response.Redirect("login.asp")
end if %>
<html>
...filen som er beskyttet
</html>


Du kan også lave en include som indholder if sætningen og så havd en include i stedet for.
Avatar billede eagleeye Praktikant
19. december 2003 - 14:30 #6
Prøv at rette denne:

if int(session("status1") = <1 then


Til denne uden mellemrum igemme = og <

if int(session("status1") =<1 then



Du kan tilføje flere til i en if sætning:

if int(session("status1") =<1 and int(session("status") = 1 then
Avatar billede eagleeye Praktikant
19. december 2003 - 14:35 #7
Når man logger ind kan du gemme admin_lvl og klan_lvl for en bruger, det er vel en status som ligger i selve databasen??

Sådan:
if (not rs.bof) and (nor rs.eof) then
' brugernavn og password er fundet, sæt session til JA
Session("login") = "JA"
Session.Timeout = 30
Response.Write "<h1>Du er nu logget korrekt ind</h1>"
Response.Write "<p><a href='index.asp'></a></p>"

else


Bliver til:

if (not rs.bof) and (nor rs.eof) then
' brugernavn og password er fundet, sæt session til JA
Session("login") = "JA"
Session("status") = rs("admin_lvl")
Session("klan_lvl") = rs("klan_lvl")
Session.Timeout = 30
Response.Write "<h1>Du er nu logget korrekt ind</h1>"
Response.Write "<p><a href='index.asp'></a></p>"

else
Avatar billede emetico Nybegynder
19. december 2003 - 14:42 #8
if int(session("status1") =<1 and int(session("status") = 1 then

den ved jeg ikke om jeg kan bruge, for hvis brugeren har klan_lvl 1 eller højere, så skal han kunne se 2 ekstra links.

og hvis hans klan_lvl er 0 skal han ikke kunne se de 2 ekstra links.

og med hensyn til: http://www.eksperten.dk/spm/440582
så er jeg ved at kigge på det, men fatter keine hehe..

til protect.asp:

<% if Session("login") <> "JA" then
  Response.Redirect("login.asp")
end if %>

kan jeg ikke gemme den som protect.asp også lave en include fil i toppen af dokumentet ? <!--#include file="protect.asp"-->

men på 2 sider skal jeg jo have klan_lvl protect, den må så hedde

<% if Session("status1") <> <1 then
  Response.Redirect("login.asp")
end if %>

order was???
jeg er lidt lost, men jeg har da lært meget på 2 dage ;-)
Avatar billede emetico Nybegynder
19. december 2003 - 14:49 #9
ja jeg har admin_lvl & klan_lvl i min database ;-)
så jeg sætter:

if (not rs.bof) and (nor rs.eof) then
' brugernavn og password er fundet, sæt session til JA
Session("login") = "JA"
Session("status") = rs("admin_lvl")
Session("klan_lvl") = rs("klan_lvl")
Session.Timeout = 30
Response.Write "<h1>Du er nu logget korrekt ind</h1>"
Response.Write "<p><a href='index.asp'></a></p>"

else

ind i mit login samt laver:

strBrugernavn = replace(request.form("username"), "'", "")
strPassword = replace(request.form("password"), "'", "")
strAdmin_lvl = replace(request.form("status"), "'", "")
strKlan_lvl = replace(request.form("status1"), "'", "")

om til:

strBrugernavn = replace(request.form("username"), "'", "")
strPassword = replace(request.form("password"), "'", "")
strAdmin_lvl = replace(request.form("status"), "'", "")
strKlan_lvl = replace(request.form("klan_lvl"), "'", "")

Den er bare hjemme ;-)
Avatar billede eagleeye Praktikant
19. december 2003 - 14:53 #10
Ja så skal session("status1")  være session("klan_lvl")

Eks hvis klan_lvl skal være lig med 1:

<% if Session("klan_lvl") = 1 then
  Response.Redirect("login.asp")
end if %>
Avatar billede emetico Nybegynder
19. december 2003 - 14:55 #11
den skal være lig med 1 eller over, er det så det samme ?
Avatar billede emetico Nybegynder
19. december 2003 - 14:58 #12
jeg kiggede også lige på gem funtionen i det link du beskrev.

if Request.Form("Remember") <> "" then
  'Gem cookien
  Response.Cookies("login")("brugernavn") = Request.Form("UserName")
  Response.Cookies("login")("password") = Request.Form("Password")
  Response.Cookies("login")("remember") = "ja"
  Response.Cookies("login").Expires = Date+365
else
  'Slet evt cookie
  if Request.Cookies("login")("brugernavn") <> "" then
    Response.Cookies("login")("brugernavn") = " XX "
    Response.Cookies("login")("password") = "XX"
    Response.Cookies("login")("remember") = "nej"
    Response.Cookies("login").Expires = Date-365
  end if
end if

hvad skal det dokument hedde som jeg skal gemme den i ?

og det her skal ind i mit login.asp:

<%
if lcase(Request.Cookies("login")("remember")) = "ja" then
  username = Request.Cookies("login")("brugernavn")
  password = Request.Cookies("login")("brugernavn")
else
  usernavn = ""
  password = "Password"
end if
%>

men hvor henne i login ?

jeg giver dig fandme 200 point, når jeg lige har fået det sidste med, du har været en stor hjælp ;-)
Avatar billede emetico Nybegynder
19. december 2003 - 15:16 #13
jeg mangler sådan set kun det med klan_lvl at få hivet ud af dig også måske lige det der cookies sjov der hehe ;-)

så kunne det her lade sig gøre ?

<head>
<link rel="stylesheet" href="styles.css" type="text/css">
<STYLE TYPE="text/css">
<!--
a {text-decoration: none;}
-->
</STYLE>
</head>
<table>
<td width="17%" height="241" valign="middle" align="center">
<table border="1" width="100%" bordercolor="#000000" bordercolordark="#000000" bordercolorlight="#000000">
<tr>
<td width="100%" valign="middle" align="center" bordercolor="#000000" bordercolorlight="#000000" bordercolordark="#000000" bgcolor="#333333">
<b>-!BrugerMenu!-</b>
</td>
</tr>
<tr>
<td width="100%" valign="top" align="left" bordercolor="#000000" bordercolorlight="#000000" bordercolordark="#000000" bgcolor="#808080">
<%
if int(session("klan_lvl") =<1 then
%>
    <a href="index.asp">Din Profil</a>
<br><a href="kamp.asp">Kampe</a>
<br><a href="rediger_klan.asp">Rediger Klan</a>
<br><a href="rediger_profil.asp">Rediger Profil</a>
<br><a href="opret_klan.asp">Opret klan</a>
<br><a href="din_klan.asp">Din Klan</a>
<br><a href="rediger_nyheder">Rediger Nyheder</a>
<br><a href="godkend.asp">Godkend klan/spiller</a>
<br><a href="klager.asp">Klager</a>
</td>
<%
elseif int(session("klan_lvl") = 1 then
%>
    <a href="index.asp">Din Profil</a>
<br><a href="rediger_profil.asp">Rediger Profil</a>
<br><a href="opret_klan.asp">Opret klan</a>
<br><a href="din_klan.asp">Din Klan</a>
<br><a href="rediger_nyheder">Rediger Nyheder</a>
<br><a href="godkend.asp">Godkend klan/spiller</a>
<br><a href="klager.asp">Klager</a>
</td>
<%
else
    response.redirect "index.asp"
end if
%>
</tr>
</table>

vil den så tage en enkelt menu frem ? som jeg gerne vil have den til ?

og:

<%
if int(session("klan_lvl") =<1 then = alt under 1 altså 0 får vist det her ?
%>

<%
elseif int(session("klan_lvl") = 1 then = alt over eller lig med 1 får vist det her?
%>

eller er der en smarter metode ?
Avatar billede emetico Nybegynder
19. december 2003 - 15:47 #14
Arh tror jeg fandt ud af det.

i stedet for min menu.asp laver jeg det sådan her:

<%
if int(session("status") = 1 and int(session("klan_lvl") =<1 then
%>
<a href="menu1.asp"></a>
<%
elseif int(session("status") = 2 and int(session("klan_lvl") =<1 then
%>
<a href="menu2.asp"></a>
<%
elseif int(session("status") = 1 and int(session("klan_lvl") = 0 then
%>
<a href="menu3.asp"></a>
<%
elseif int(session("status") = 2 and int(session("klan_lvl") = 0 then
%>
<a href="menu4.asp"></a>
<%
else
    response.redirect "index.asp"
end if
%>

også laver jeg bare 4 forskellige menuer ;-)
Avatar billede eagleeye Praktikant
19. december 2003 - 15:59 #15
jo det kan du så kan du også helt præsist styre hvilke menuer skal vise for hvilke typer brugere.
Avatar billede eagleeye Praktikant
19. december 2003 - 16:01 #16
Hov ne det skal være if then end if 'ere og ikke if the elseif ellers skriver den kun et menu punkt ud, og så skal redirect'en væk da det løst med protection.asp fil.
'
Sådan her:

<%
if int(session("status") = 1 and int(session("klan_lvl") =<1 then
%>
<a href="menu1.asp"></a>
<%
end if
if int(session("status") = 2 and int(session("klan_lvl") =<1 then
%>
<a href="menu2.asp"></a>
<%
end if
if int(session("status") = 1 and int(session("klan_lvl") = 0 then
%>
<a href="menu3.asp"></a>
<%
end if
if int(session("status") = 2 and int(session("klan_lvl") = 0 then
%>
<a href="menu4.asp"></a>
end if
%>
Avatar billede emetico Nybegynder
19. december 2003 - 16:13 #17
Yeah yeah ;-)

wheehuu nu mangler jeg kun cookies.

kan jeg skrive de spørgsmål inden der hvor du gav mig linket til ?
men kom med et svar og du får dine points ;-)
Avatar billede emetico Nybegynder
19. december 2003 - 16:16 #18
uhmm hov der mangler noget ved
end if
if int(session("status") = 2 and int(session("klan_lvl") = 0 then
%>
<a href="menu4.asp"></a>
end if
%>
Avatar billede emetico Nybegynder
19. december 2003 - 16:20 #19
det må være sådan ?

<%
if int(session("status") = 1 and int(session("klan_lvl") =<1 then
%>
<a href="menu1.asp"></a>
<%
end if
if int(session("status") = 2 and int(session("klan_lvl") =<1 then
%>
<a href="menu2.asp"></a>
<%
end if
if int(session("status") = 1 and int(session("klan_lvl") = 0 then
%>
<a href="menu3.asp"></a>
<%
end if
if int(session("status") = 2 and int(session("klan_lvl") = 0 then
%>
<a href="menu4.asp"></a>
<%
else
    response.redirect "index.asp"
end if
%>
Avatar billede emetico Nybegynder
19. december 2003 - 16:23 #20
hmmm sådan her så:

<!--#include file="protect.asp"-->
<%
if int(session("status") = 1 and int(session("klan_lvl") =<1 then
%>
<a href="menu1.asp"></a>
<%
end if
if int(session("status") = 2 and int(session("klan_lvl") =<1 then
%>
<a href="menu2.asp"></a>
<%
end if
if int(session("status") = 1 and int(session("klan_lvl") = 0 then
%>
<a href="menu3.asp"></a>
<%
end if
if int(session("status") = 2 and int(session("klan_lvl") = 0 then
%>
<a href="menu4.asp"></a>
end if
%>

men det sidste end if bliver ikke rødt ????
Avatar billede eagleeye Praktikant
19. december 2003 - 16:26 #21
ja, hov ja end if er er kommet på den forkerte side af %> og den skal vendes til en <% sådan:

end if
%>

blivr til:

<%
end if
Avatar billede emetico Nybegynder
19. december 2003 - 16:28 #22
arh oki ;-)
tak for hjælpen.
men måtte jeg poste i det link der ? for der er lige nogle cookie spørgsmål hehe ;-)
Avatar billede eagleeye Praktikant
19. december 2003 - 16:39 #23
Ja, men eller så kan vi tage dem her??
Avatar billede emetico Nybegynder
19. december 2003 - 16:45 #24
jov det kan vi godt, jeg har postet på den anden side, men kopirer det lige over i den her ;-) 2 sec
Avatar billede emetico Nybegynder
19. december 2003 - 16:46 #25
Okay så læste jeg det lige igennem for jeg skal selv til at sætte en cookie på.
men min ser altså sådan her ud:

<form name="login" action="login.asp" method="post">
                  <td width="70%" bgcolor="#808080">Brugernavn<br><input type="text" name="username" size="20"><br>Password<br><input type="text" name="password" size="20">
                  <input type="submit" value="Send" name="Submit">Gem Login?<input type="checkbox" name="gem" value="ON"></form>

så langt så godt. så går jeg ud fra at jeg skal bruge det her:

<%

if Request.Servervariables("REQUEST_METHOD") = "POST" then
if Request.Form("gem") <> "" then
  'Gem cookien
  Response.Cookies("login")("brugernavn") = Request.Form("username")
  Response.Cookies("login")("password") = Request.Form("password")
  Response.Cookies("login")("gem") = "ja"
  Response.Cookies("login").Expires = Date+365
else
  'Slet evt cookie
  if Request.Cookies("login")("brugernavn") <> "" then
    Response.Cookies("login")("brugernavn") = " XX "
    Response.Cookies("login")("password") = "XX"
    Response.Cookies("login")("gem") = "nej"
    Response.Cookies("login").Expires = Date-365
  end if
end if
end if
%>

men hvor skal jeg sætte det ind henne ?

også til sidst men ikke mindst så skal jeg sætte det her ind på mit login script: men er det lige emeget hvor jeg smider det ind henne ?

<%
if lcase(Request.Cookies("login")("gem")) = "ja" then
  username = Request.Cookies("login")("brugernavn")
  password = Request.Cookies("login")("brugernavn")
else
  usernavn = ""
  password = "Password"
end if
%>

SÅ HELP!!!!!!!! ;-)
Avatar billede eagleeye Praktikant
19. december 2003 - 17:00 #26
Dette styk kode sættes ind i Login.asp filen  :

<%

if Request.Servervariables("REQUEST_METHOD") = "POST" then
if Request.Form("gem") <> "" then
  'Gem cookien
  Response.Cookies("login")("brugernavn") = Request.Form("username")
  Response.Cookies("login")("password") = Request.Form("password")
  Response.Cookies("login")("gem") = "ja"
  Response.Cookies("login").Expires = Date+365
else
  'Slet evt cookie
  if Request.Cookies("login")("brugernavn") <> "" then
    Response.Cookies("login")("brugernavn") = " XX "
    Response.Cookies("login")("password") = "XX"
    Response.Cookies("login")("gem") = "nej"
    Response.Cookies("login").Expires = Date-365
  end if
end if
end if
%>
Avatar billede eagleeye Praktikant
19. december 2003 - 17:01 #27
Dette styk kode sættes ind i toppen af filen som indeholder login-formen:

<%
if lcase(Request.Cookies("login")("gem")) = "ja" then
  username = Request.Cookies("login")("brugernavn")
  password = Request.Cookies("login")("brugernavn")
else
  usernavn = ""
  password = "Password"
end if
%>
Avatar billede eagleeye Praktikant
19. december 2003 - 17:04 #28
Du skal så havde rette din login form sådan den bruger de to varialbe med username og password til at vise i formen:

Så prøv at rette din login form til dette:


<form name="login" action="login.asp" method="post">
  <td width="70%" bgcolor="#808080">Brugernavn<br><input type="text" name="username" size="20" value="<%=username%>"><br>Password<br><input type="text" name="password" size="20" value="<%=password%>">
                  <input type="submit" value="Send" name="Submit">Gem Login?<input type="checkbox" name="gem" value="ON"
<% if if lcase(Request.Cookies("login")("gem")) = "ja" then Response.write " checked " %>
></td></form>
Avatar billede emetico Nybegynder
19. december 2003 - 17:05 #29
det skal der skal ind i login.asp. er det lige meget hvor jeg sætter det ind henne ?
Avatar billede eagleeye Praktikant
19. december 2003 - 17:11 #30
Det betyder ikke så meget hvor der er, men du kan sætte det ind i toppen.
Avatar billede emetico Nybegynder
19. december 2003 - 17:15 #31
Okay skide godt ;-)
nu har jeg mig et login sysmem med cookies og admin_lvl samt klan_lvl det er for vildt ;-)

Mange tak for hjælpen eagleeye

hvis du laver et svar acceptere jeg ;-)
Avatar billede eagleeye Praktikant
19. december 2003 - 17:20 #32
Ok her et svar ;)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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