Avatar billede bennetsen Nybegynder
26. februar 2005 - 23:09 Der er 3 kommentarer og
1 løsning

Hjælp til redirect og "Husk mig"

Jeg har nedenstående logon script.
Jeg kunne godt tænke mig at få det udbygget, så brugeren bliver ført videre til en bestemt side.
Jeg kunne også godt tænke mig at der var en "husk mig" funktion

Er der en som har lyst til at hjælpe mig med dette?

På forhånd tak

<%
If Request("mode") = "login" Then
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath(".") & "\..\db\db.mdb"
Set RS = Server.CreateObject    ("ADODB.Connection")
RS.Open strDSN

SQL = "SELECT * FROM Users WHERE Username='" & Request("Username") & "' AND Password='" & Request("Password") & "'"
Set Record = RS.Execute(SQL)

If NOT Record.EOF Then
  Response.Redirect "listfiles.asp?username=" & Record("Username") & "&password=" & Record("Password")
Else
  Response.Redirect "login.asp?str=nouser"
End If
ElseIf Request("mode") = "" And Request("str") = "" Then
%>
<html>
<head>
<title>Login-siden</title>
</head>
<body bgcolor="white" text="black">
<center><h1>Login side</h1>
<form action="login.asp" method="post">
<input type="hidden" name="mode" value="login">
<table border="0">
<tr>
  <td align="right"><strong>Brugernavn:</strong></td>
  <td><input type="text" name="username"></td>
</tr>
<tr>
  <td align="right"><strong>Password:</strong></td>
  <td><input type="password" name="password"></td>
</tr>
<tr>
  <td colspan="2" align="center"><input type="submit" value="Login"></td>
</tr>
</table>
</form>
</body>
</html>
<%
ElseIf Request("mode") = "" And Request("str") = "nouser" Then
%>
<html>
<head>
<title>Login-siden</title>
</head>
<body bgcolor="white" text="black">
<center><h1>Login side</h1>
<font color="red">Du har tastet forkert brugernavn eller password, prøv igen.</font><br><br>
<form action="login.asp" method="post">
<input type="hidden" name="mode" value="login">
<table border="0">
<tr>
  <td align="right"><strong>Brugernavn:</strong></td>
  <td><input type="text" name="username"></td>
</tr>
<tr>
  <td align="right"><strong>Password:</strong></td>
  <td><input type="password" name="password"></td>
</tr>
<tr>
  <td colspan="2" align="center"><input type="submit" value="Login"></td>
</tr>
</table>
</form>
</body>
</html>
<%
End If
%>
Avatar billede eagleeye Praktikant
26. februar 2005 - 23:48 #1
Nu har du ikke skrevet hvilken side en bruger skal sendes vidre til men det kan du evt. selv rette, det er denne linje:

  Response.Redirect "listfiles.asp?username=" & Record("Username") & "&password=" & Record("Password")


Her er koden tilrette så der er "husk mig" funktion.


<%
If Request("mode") = "login" Then
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath(".") & "\..\db\db.mdb"
Set RS = Server.CreateObject    ("ADODB.Connection")
RS.Open strDSN

huskmig = Request("husk")
bnavn = Request("Username")
pword = Request("Password")
if lcase(huskmig)="on" then
  Response.Cookies("logininfo")("huskmig") = "on"
  Response.Cookies("logininfo")("brugernavn") = bnavn
  Response.Cookies("logininfo")("password") = pword
  Response.Cookies("logininfo").Expires = Date+365
else   
  Response.Cookies("logininfo")("huskmig") = "off"
  Response.Cookies("logininfo")("brugernavn") = "xx"
  Response.Cookies("logininfo")("password") = "xx"
  Response.Cookies("logininfo").Expires = Date-365
end if

SQL = "SELECT * FROM Users WHERE Username='" & Request("Username") & "' AND Password='" & Request("Password") & "'"
Set Record = RS.Execute(SQL)

If NOT Record.EOF Then
  Session("brugerid") = Record("id") 'Gemmer ID'et på den bruger der er logget ind.
  'Her angiver du hvilken side brugeren skal sendes til efter login.
  Response.Redirect "listfiles.asp?username=" & Record("Username") & "&password=" & Record("Password")
Else
  Response.Redirect "login.asp?str=nouser"
End If
ElseIf Request("mode") = "" And Request("str") = "" Then
%>
<%
'tjek om brugeren har valgt "husk mig"
brugernavn=""
password=""
huskmig = Request.Cookies("logininfo")("huskmig")
if lcase(huskmig)="on" then
  brugernavn = request.cookies("logininfo")("brugernavn")
  password = request.cookies("logininfo")("password")
end if
%>
<html>
<head>
<title>Login-siden</title>
</head>
<body bgcolor="white" text="black">
<center><h1>Login side</h1>
<form action="login.asp" method="post">
<input type="hidden" name="mode" value="login">
<table border="0">
<tr>
  <td align="right"><strong>Brugernavn:</strong></td>
  <td><input type="text" name="username" value="<%=brugernavn%>"></td>
</tr>
<tr>
  <td align="right"><strong>Password:</strong></td>
  <td><input type="password" name="password" value="<%=password%>"></td>
</tr>
<tr>
  <td align="right"><strong>Husk mig:</strong></td>
  <td><input type="checkbox" name="husk" value="on" <% if lcase(huskmig)="on" then response.write " checked "%> ></td>
</tr>
<tr>
  <td colspan="2" align="center"><input type="submit" value="Login"></td>
</tr>
</table>
</form>
</body>
</html>
<%
ElseIf Request("mode") = "" And Request("str") = "nouser" Then
%>
<html>
<head>
<title>Login-siden</title>
</head>
<body bgcolor="white" text="black">
<center><h1>Login side</h1>
<font color="red">Du har tastet forkert brugernavn eller password, prøv igen.</font><br><br>
<form action="login.asp" method="post">
<input type="hidden" name="mode" value="login">
<table border="0">
<tr>
  <td align="right"><strong>Brugernavn:</strong></td>
  <td><input type="text" name="username"></td>
</tr>
<tr>
  <td align="right"><strong>Password:</strong></td>
  <td><input type="password" name="password"></td>
</tr>
<tr>
  <td colspan="2" align="center"><input type="submit" value="Login"></td>
</tr>
</table>
</form>
</body>
</html>
<%
End If
%>
Avatar billede bennetsen Nybegynder
26. februar 2005 - 23:53 #2
Hej eagleeye
Jeg vil prøve dit forslag

Med hensyn til siden, hvor brugeren skal sendes til.
Det var her jeg kunne forestille mig noget redirect til en url angivet i databasen
Avatar billede eagleeye Praktikant
26. februar 2005 - 23:55 #3
Ok, det kunne gøres sådan her så hvis vi antager kolonnen hedder "side" Så prøv at rette disse linjer:

If NOT Record.EOF Then
  Session("brugerid") = Record("id") 'Gemmer ID'et på den bruger der er logget ind.
  'Her angiver du hvilken side brugeren skal sendes til efter login.
  Response.Redirect "listfiles.asp?username=" & Record("Username") & "&password=" & Record("Password")

Til dette:

If NOT Record.EOF Then
  Session("brugerid") = Record("id") 'Gemmer ID'et på den bruger der er logget ind.
  'Her angiver du hvilken side brugeren skal sendes til efter login.
  Response.Redirect Record("side")
Avatar billede bennetsen Nybegynder
27. februar 2005 - 00:19 #4
Det virker bare 100%
hvis jeg smider 100 point mere, kunne du så hjælpe mig med et "glemt adgangskode" funktion?
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