Avatar billede snebolle Nybegynder
02. november 2002 - 14:12 Der er 11 kommentarer og
1 løsning

Autologin som virker

Hej,
Jeg har prøvet at få forskellige autologin til at virke uden resultat. Jo "husk mig" funktionen kunne jeg godt men ikke autologin.
Hvis nogle ligger inden med en som virker perfekt også med at slå funktionerne fra igen så vil jeg blive over lykkelig.

Der skal både være autologin og "husk mig" altså at den skriver brugernavn og koden i formularen.


Mvh René
Avatar billede eagleeye Praktikant
02. november 2002 - 16:52 #1
Jeg har lavet en fil som hedder autologin.asp og på de sider jeg vil give mulighed for automatisk login includer jeg filen i toppen:

<!--#include file="autologin.asp"-->



<%
'Tjek om autologin cookie er gemt samt tjek man ikke er logget ind
if Request.Cookies("login")("autologin") = "yes" and session("loginOK") <> "jada" then

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Data Source="& server.mappath("db5.mdb") & ";Provider=Microsoft.Jet.OLEDB.4.0;"
Set rs = Server.CreateObject("ADODB.RecordSet")

username = replace(Request.Cookies("login")("brugernavn"),"'","''")
password = replace(Request.Cookies("login")("password"),"'","''")

strSQL= "SELECT * FROM dp_members WHERE account_valid = 1 AND (username = '" & username & "' AND userpassword='" & password & "');"
Set rs = Conn.Execute (strSQL)

if NOT rs.EOF then
  session("loginOK") = "jada"
  session("loginUserType") = rs("userType")
  session("loginMemberID") = rs("memberID")
  session("username") = rs("username")
else
  session("loginOK") = ""
  session("loginUserType") = ""
  session("loginMemberID") = ""
  session("username") = ""
end if

Rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing

end if
%>
Avatar billede eagleeye Praktikant
02. november 2002 - 16:53 #2
Drop autologin har jeg lavet sådan her med et link til min login.asp fil:

<a href="login.asp?mode=disauto">Drop autologin</a>


Og så koden i login.asp filen som gør det:
<%
'Tjek om autologin skal slåes fra:
mode = Request.QueryString("mode")
if mode = "disauto" then
  Response.Cookies("login")("autologin") = "no"
 
  'Send tilbage til siden man kom eller udkommenter for at blive på login siden
  Response.Redirect(Request.ServerVariables("HTTP_REFERER")) 
end if
%>
Avatar billede snebolle Nybegynder
05. november 2002 - 18:33 #3
Grunden til at jeg ikke har svaret er at jeg lige har fået arbejde og dermed ikke haft tid foran computeren. Men jeg vil kigge på det i dag og i morgen. Men jeg takker på forhånd.
Avatar billede snebolle Nybegynder
10. november 2002 - 13:48 #4
Har du også den fil hvor man opretter den cookies ? Altså den formular hvor man kan sætte flueben i autologin.
Avatar billede eagleeye Praktikant
10. november 2002 - 13:53 #5
Ja det er i login.asp filen finder den lige.
Avatar billede eagleeye Praktikant
10. november 2002 - 13:57 #6
Her er min login.asp fil:


<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  fhuskmig = Request.Form("huskmig")
  fautologin = Request.Form("autologin")
  if fautologin <> "" then
    Response.Cookies("login")("autologin") = "yes"
  else
    Response.Cookies("login")("autologin") = "no"
  end if
 
  if fhuskmig <> "" then
    Response.Cookies("login")("huskmig") = "yes"
  else
    Response.Cookies("login")("huskmig") = "no"
  end if
 
  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Open "Data Source="& server.mappath("db5.mdb") & ";Provider=Microsoft.Jet.OLEDB.4.0;"
  Set rs = Server.CreateObject("ADODB.RecordSet")

  username = fixSring(Request.Form("username"))
  password = fixSring(Request.Form("password"))

  strSQL= "SELECT * FROM dp_members WHERE account_valid = 1 AND (username = '" & username & "' AND userpassword='" & password & "');"
  Set rs = Conn.Execute (strSQL)

  if not rs.EOF then
    if fhuskmig <> "" OR fautologin <> "" then
      Response.Cookies("login")("brugernavn") = username
      Response.Cookies("login")("password") = password
    end if
    session("loginOK") = "jada"
    session("loginUserType") = rs("userType")
    session("loginMemberID") = rs("memberID")
    session("username") = rs("username")
    Conn.Close
    Set Conn = Nothing
    'Ang hvor der skal redirectes hen når man er logget ind.
    Response.Redirect("tt_forum.asp")
  end if

  if session("loginOK") = "jada" then
    session("loginOK") = ""
    session("loginUserType") = ""
    session("loginMemberID") = ""
    session("username") = ""
  end if
  Response.Redirect("login.asp")
end if
%>

<%
'Tjek om autologin skal slåes fra:
mode = Request.QueryString("mode")
if mode = "disauto" then
  Response.Cookies("login")("autologin") = "no"
 
  'Send tilbage til siden man kom eller udkommenter for at blive på login siden
  Response.Redirect(Request.ServerVariables("HTTP_REFERER")) 
end if
%>

<%
autologin = Request.Cookies("login")("autologin")
if autologin = "yes" then
%>
  <!--#include file="autologin.asp"-->
<%
    'Ang hvor der skal redirectes hen når man er logget ind.
    Response.Redirect("tt_forum.asp")
end if

huskmig = Request.Cookies("login")("huskmig")
if huskmig = "yes" then
  brugernavn = Request.Cookies("login")("brugernavn")
  password = Request.Cookies("login")("password")
end if
%>
<html>
<head>
<title></title>
<link rel="StyleSheet" href="../style1.css" type="text/css">

<SCRIPT LANGUAGE="JavaScript">
function start(){
  document.login.username.focus();
}
</SCRIPT>

</head>

<body onload="start()" bgcolor="#EDEEDD">
<center>
<p>Velkommen til xxx forum:</p>

<table border="1">
<form method="post" action="login.asp" name="login">
  <tr><td>Brugernavn:</td><td><input name="username"
  <% if huskmig = "yes" then Response.Write " value=""" & brugernavn & """" %>
  ></td></tr>
  <tr><td>Password:</td><td><input type="password" name="password"
  <% if huskmig = "yes" then Response.Write " value=""" & password & """" %>
  ></td></tr>
  <tr><td colspan="2" align="center"><input type="submit" value="Login" name="Action"></td></tr>
  <tr><td><input type="checkbox" name="autologin">Auto login</td><td><input type="checkbox" name="huskmig"
  <% if huskmig = "yes" then Response.Write " CHECKED "%> >Husk mig</td></tr>
</form>
</table>
<br>
<a href="glemtpassword.asp">Jeg har glemt mit password.</a> | <a href="nybruger.asp">Opret ny bruger.</a>

</center>
</body>
</html>

<%
'Functioner som bruges i filen:
function fixSring(strInput)
  if len(strInput) > 0 then
    outString = replace(strInput,"?","Q")
    outString = replace(outString,"%","W")
    outString = replace(outString,"'","''")
    fixSring = outString
  else
    fixSring = strInput
  end if
end function
%>
Avatar billede snebolle Nybegynder
12. november 2002 - 19:38 #7
Undskyld jeg har været så langtid om at svare igen..

Jeg kan ikke få det til at virke derfor vil jeg lige høre om det er rigtig nok at min database skal se således ud http://www.2access.dk/nyt/database.gif
Avatar billede eagleeye Praktikant
12. november 2002 - 21:34 #8
Ja det ser find ud. Nu har jeg ikke rettet i  koden i login filen så du har bare fået det hele. I princippet kan du "nøjes" med username og userpassword. account_valid er en ekstra kolonne jeg har i min tabel så man kan slå en bruger fra, så skal den også fjernes fra SQL sætnigne...

Får du fejl eller hvordan virker det ikke?
Avatar billede snebolle Nybegynder
07. december 2002 - 11:55 #9
Hej eagleeye,
Nu har jeg endelig tid igen. Jeg har lidt svært ved at overskue hvad der skal passe sammen osv. Hvis jeg nu giver dig endnu flere 100 - 150 point eller hvad du nu ønsker. Gider du så at lave en demo side med en database hvor det virker ??
Det er det sidste jeg mangler for at få afsluttet min hjemmeside så det kunne være dejligt at få det til at virke.

Mvh René
Avatar billede eagleeye Praktikant
07. december 2002 - 12:07 #10
Ja det kan jeg godt lave.. Har du en email adresse jeg kan sende det til? eller så skriv til mig på eagleeye@c.dk og så sender jeg den.
Avatar billede want2learn Nybegynder
17. januar 2004 - 11:19 #11
EAGLEEYE

Den der Demoside med database !!  er det evt noget du vil sende til mig !??  ville også gerne kende lidt mere til autologin og kan kun finde dette som en ordentlig beskrivelse men fatter det ikke lige så meget !!
Avatar billede Slettet bruger
11. september 2009 - 11:33 #12
Hej Eagleeye
Ja, jeg siger heller ikke nej til den der demoside med database, kan det lade sig gøre?
mvh. rwj
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