Avatar billede ihtezaz Praktikant
07. december 2006 - 14:10 Der er 3 kommentarer og
1 løsning

Login: har husk mig, ønsker autologin

Hej

Jeg har følgende login side med husk mig funktion, inspireret af et indlæg her fra eksperten. Husk mig funktionen virker helt fint, men jeg ønsker også autologin, jeg har lavet checkboxen til autologin, jeg kan ikke rigtig komme videre, til svar der kan føre mig til autologin er der 200 p.

På forhånd tak.

Koden:


<!-- #include file="inc/opendb.asp" -->
<!-- #include file="inc/_configuration.asp" -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">



<%
'tjek om brugeren har valgt "husk mig"
brugernavn=""
password=""
huskmig = Request.Cookies("login")("huskmig")
if lcase(huskmig)="on" then
  email = request.cookies("login")("email")
  password = request.cookies("login")("password")
end if

autologin = Request.Cookies("login")("autologin")
Response.Write(autologin)

%>

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


<html>

    <head>
        <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
        <title><%=COMPANY_NAME%> - Login</title>
        <script src="javascript/default.js" type="text/javascript"></script>
        <script language=javascript>
            function setFocus()
            {
                document.all.email.focus();
            }
        </script>
        <link href="css/default.css" rel="styleSheet" type="text/css" media="screen" charset="iso-8859-1">
    </head>

    <body bgcolor="#ffffff" onload=setFocus();>
        <table width="100%" border="0" cellspacing="0" cellpadding="0" style="height:100%;">
            <tr>
                <td align="center">
                <img src="gfx/logo.gif" alt=""><br><br>
                <table border="0" cellpadding="0" cellspacing="0" width="200" style="height:120px;">
                    <tr style="height:3px;">
                        <td width="3" height="3"><img src="gfx/loginbox_top_left.gif" alt=""></td>
                        <td height="3" style="background-image:url('gfx/loginbox_top_bg.gif');"></td>
                        <td width="3" height="3"><img src="gfx/loginbox_top_right.gif" alt=""></td>
                    </tr>
                    <tr>
                        <td width="3" style="background-image:url('gfx/loginbox_left_bg.gif');"></td>
                        <td bgcolor="#f3f3f3" align="center">
                       

                        <%
                        mode = request("mode")
                        'Response.write mode
                        SELECT CASE mode
                        CASE "employeelogin"
                          DoLogin()
                        CASE "reportuserlogin"
                          DoLoginReportUser()   
                        CASE "showlogin"
                          ShowLogin("")
                        CASE "showmenu"
                          DoLogin()
                        CASE "logout"
                          Logout()

                        CASE ELSE
                          ShowLogin("normal")
                        END SELECT

                        Sub ShowLogin(message)
                        Response.write "<br><br><h1 class=header>Medarbejderlogin</h1>"

                        %>

   
                        <form method="post" id="loginForm" action="login.asp?mode=employeelogin">
                        <input type="hidden" name="mode" value="login"/>
                        <% If message = "badlogin" then response.write "<font color=""red"">Fejl i brugernavn og/eller password!</font>" %>
                        <table border="0" cellpadding="0" cellspacing="0">
                            <tr>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>Email:</td>
                            </tr>
                            <tr>
                                <td><input type=text name="email" value="<%=email%>" class="textinput" style="width:150px;"/></td>
                            </tr>
                            <tr>
                                <td>Password:</td>
                            </tr>
                            <tr>
                                <td><input type="password" name="password" value="<%=password%>" class="textinput" style="width:150px;"/></td>
                            </tr>
                           
                            <tr>
                                <td>Husk mig:</td>
                            </tr>
                            <tr>
                            <td><input type="checkbox" name="husk" value="on" <% if lcase(huskmig)="on" then response.write "checked "%> /> </td>
                            </tr>
                            <tr>
                                <td>Auto login:</td>
                            </tr>
                            <tr>
                            <td><input type="checkbox" name="autologin" value="yes" <% if lcase(autologin)="yes" then response.write "checked "%> /> </td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td><input type="image" src="gfx/btn_login.gif" name="submit"></td>
                            </tr>
                           
                       
                        </table>
                        </form>   
   
                                       
                        <%
                        END SUB

                        Function DoLogin()
                          Session("Admin") = "no"
                         
                          Dim email : email = Request.Form("email")
                          Dim pwd : pwd = Request.Form("password")
                          If(Request.QueryString("urlSignOn")="1") Then
                                                       
                              If(InStr(URL_LOGIN_IPS,Request.ServerVariables("REMOTE_ADDR"))=0) Then
                                  ShowLogin("badlogin")
                                  Exit Function
                            End If
                         
                            Session.Timeout = 120   
                            email = Request("email")
                            pwd = Request("password")                           
                          End If
                         
                         
                          strSQL = "SELECT EmployeeId, Admin FROM Employees WHERE Email='" & replace(email,"'","") & "' AND Password='" & replace(pwd,"'","") & "'"
                          Set rs=Conn.execute(strSQL)
                          If not (rs.bof or rs.eof) then
                            Session("Employeeid") = rs("EmployeeId")
                            Session("loginOK") = "jada"
                            session("username") = email
                            if rs("Admin") = true then Session("Admin") = "yes"
                           
                           
                            huskmig = Request("husk")
                            bnavn = Request("email")
                            pword = Request("password")
                            if lcase(huskmig)="on" then
                            Response.Cookies("login")("huskmig") = "on"
                            Response.Cookies("login")("email") = bnavn
                            Response.Cookies("login")("password") = pword
                            Response.Cookies("login").Expires = Date+365
                           
                           
                            else   
                            Response.Cookies("login")("huskmig") = "off"
                            Response.Cookies("login")("email") = "xx"
                            Response.Cookies("login")("password") = "xx"
                            Response.Cookies("login").Expires = Date-365
                            end if
                           
                            fautologin = Request.Form("autologin")
                            Response.Write(fautologin)
                            if fautologin <> "" then
                            Response.Cookies("login")("autologin") = "yes"
                            else
                            Response.Cookies("login")("autologin") = "no"
                            end if
                            Response.Cookies("login").Expires = Date+356
                           
                           
                         
                            Response.redirect "default.asp"
                           
                          Else
                            ShowLogin("badlogin")
                          End if


                        End Function


                    Function DoLoginReportUser()
                          Session("Admin") = "no"
                          strSQL = "SELECT ReportUserId FROM ReportUsers WHERE username='" & replace(request.form("username"),"'","") & "' AND Password='" & replace(request.form("password"),"'","") & "'"
                          Set rs=Conn.execute(strSQL)
                          If not (rs.bof or rs.eof) then
                            Session("reportuserid") = rs("reportuserid")
                            Response.redirect "showprojects.asp"
                          Else
                            ShowLogin("badlogin")
                          End if
           
                        End Function
                       
                       
                        Function RememberLogin(state)
                        huskmig = Request.Cookies("login")("huskmig")
                        if huskmig <> "" then
                        Response.Cookies("login")("huskmig") = "yes"
                        else
                        Response.Cookies("login")("huskmig") = "no"
                        end if
                        Response.Cookies("login").Expires = Date+365
                        End Function




                        Sub ShowMenu()
                        %>
                        <h1>Dine muligheder</h1>
                        <a href=dagsseddel.asp>Indtast eller rediger timer</a><br>
                        <a href=reports.asp>Aktiviteter, som jeg kan registrere timer på</a><br>
                        <a href=default.asp?mode=logout>Log ud</a><br>

                        <%If Session("Admin") = "yes" then%>
                        <a href=customers.asp>Administer kunder</a><br>
                        <a href=projects.asp>Administrer projekter</a><br>
                        <a href=activities.asp?mode=logout>Aktiviteter</a><br>

                        <% End if %>
                        <%
                        End sub

                        Sub Logout()
                        Session("Employeeid") = ""
                        Session.abandon
                        Response.redirect "default.asp"
                        End sub

                        %>

                        </td>
                        <td width="3" style="background-image:url('gfx/loginbox_right_bg.gif');"></td>
                    </tr>
                    <tr style="height:3px;">
                        <td width="3" height="3"><img src="gfx/loginbox_bottom_left.gif" alt=""></td>
                        <td height="3" style="background-image:url('gfx/loginbox_bottom_bg.gif');"></td>
                        <td width="3" height="3"><img src="gfx/loginbox_bottom_right.gif" alt=""></td>
                    </tr>
                </table>
                </td>
            </tr>
        </table>
    </body>

</html>
Avatar billede tjaz Nybegynder
08. december 2006 - 23:58 #1
Noget i den stil her?

If LCase(Request.Cookies("login")("autologin")) = "yes" then
  email = Request.Cookies("login")("email")
  password = Request.Cookies("login")("password")

  strSQL = "SELECT * FROM brugere WHERE adgangskode = '"& password &"' AND email = '"& email &"'
  set rs = Conn.Execute(strSQL)

  if not rs.eof then
      session("login") = rs("id")
  else
      response.redirect("fejl")
  end if
End If
Avatar billede tjaz Nybegynder
08. december 2006 - 23:59 #2
rettelse:

strSQL = "SELECT * FROM brugere WHERE adgangskode = '"& password &"' AND email = '"& email &"'"
Avatar billede tjaz Nybegynder
08. december 2006 - 23:59 #3
svar ;)
Avatar billede ihtezaz Praktikant
10. december 2006 - 17:13 #4
Takker, det virkede jeg lavede dog en ny side logud.asp, da man ellers ikke kunne logge ud i at med logud funktionalitet også lå i login.asp. Så du fortjener jo points:)
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