Avatar billede rasmus_h Nybegynder
23. februar 2004 - 21:46 Der er 4 kommentarer og
1 løsning

Indsætte dato/tid for sidste login

Hej!

Jeg har en login side, hvor jeg gerne vil ha at dato og tid for seneste login bliver skrevet til en kolonne i min database. Kolonnen hedder lastlogin og ligger i tabellen users

Hvordan gør jeg det?

Min login.asp ser sådan ud:

<%Session.LCID = 1030%>
<script src="frames.js"></script>
<%
' Hvis der er blevet trykket på knappen "Login"
If Request.Form("Action") = "Login" Then
    ' Her forberedes de indtastede værdier til validering
    strUID = Trim(Replace(Request.Form("Brugernavn"),"'",""))
    strPWD = Trim(Replace(Request.Form("Adgangskode"),"'",""))

    ' Hvis der er skrevet noget i både brugernavn og adgangskode
    If Len(strUID) > 0 And Len(strPWD) > 0 Then

        ' DSNLess forbindelse til databasen
        Set myConn = Server.CreateObject("ADODB.Connection")
        myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/users.mdb")

        ' Opbygning af SQL streng
        strSQL = "SELECT * FROM Users"&_
            " WHERE (Username = '" & strUID & "')"&_
            " AND (Password = '" & strPWD & "')"

        Set rs = myConn.Execute(strSQL)
        If Not (rs.BOF Or rs.EOF) Then
            ' Hvis brugeren fandtes i databasen
            intUID = rs("UserID")
            'intTRAN = rs("Transfer")
            intTRAN = "intranet/user.asp"
           
           
        Else
            ' Hvis brugeren ikke fandtes i databasen
            strERR = "Du blev ikke godkendt af systemet"
        End If

        ' Rydder op i vores connection objekt
        myConn.Close
        Set myConn = Nothing

        If Len(intUID) Then
            ' Hvis variablen intUID indeholder en værdi sættes denne i sessionen "UserID" og brugeren bliver sendt videre
            Session("UserID") = intUID
            Response.Redirect intTRAN
        End If
    Else
        ' Hvis der ikke var angivet brugernavn og adgangskode
        strErr = "Du skal skrive både brugernavn og adgangskode"
    End If

    If Len(strErr) > 0 Then
        ' Her laves fejlmeddelsen om til rød skrift
        strErr = "<p><font color=red>" & strErr & "</font></p>"
    End If
End If
%>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Login Intranet - RingstedBrand.dk</title>
<base target="_self">
<link rel="stylesheet" type="text/css" href="cssdesign/design01.css">

<meta name="Microsoft Border" content="none">

</head>

<body bgcolor="#FFFFFF" background="images/baggrund01.gif" topmargin="2" leftmargin="2" onLoad=framecheck()>

<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="750" id="AutoNumber2">
  <tr>
    <td width="160">
    <p align="center">
    &nbsp;</p>
    </td>
    <td width="588">
    <div align="center">
      <center>
      <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="577" id="AutoNumber5">
        <tr>
          <td width="400">
          <h1 align="left">Log på IntraNet</h1>
          </td>
          <td width="177">
         
        &nbsp;</tr>
        <tr>
          <td width="400">
          <div align="center">
            <center>
            <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="95%" id="AutoNumber16">
              <tr>
                <td width="100%">
          <h2 align="left">
          &nbsp;</h2>
                <form method="POST" action="login.asp">
                <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="316" id="AutoNumber17" height="95">
                  <tr>
                    <td width="130" height="33">
                    <font size="2" face="Verdana" color="#707070"><span style="font-weight: 700">Brugernavn</span></font></td>
                    <td width="186" height="33">
                    <input type="text" name="Brugernavn" size="20"></td>
                  </tr>
                  <tr>
                    <td width="130" height="36">
                   
                    <font size="2" face="Verdana" color="#707070"><span style="font-weight: 700">Adgangskode</span></font></td>
                    <td width="186" height="36">
                    <input type="password" name="Adgangskode" size="20"></td>
                  </tr>
                  <tr>
                    <td width="316" colspan="2" height="26">
                    <input type="submit" value="Login" name="Action"></td>
                  </tr>
          </table>
          </form>
          <h2 align="left">
          <%=strErr%>
          </h2>
                </td>
              </tr>
            </table>
            </center>
          </div>
          </td>
          <td width="186">

          &nbsp;</td>
        </tr>
        </table>
       
      </center>
    </div>
    </td>
  </tr>
 
  <tr>
    <td width="160">
    <h5 align="center">&nbsp;</h5>
    </td>
    <td width="588">&nbsp;</td>
  </tr>
</table>

      </body>

</html>

Vh
Rasmus!
Avatar billede fennec Nybegynder
23. februar 2004 - 22:00 #1
intUID = rs("UserID")
'intTRAN = rs("Transfer")
intTRAN = "intranet/user.asp"
'indsæt dette
myConn.Execute("update users set lastlogin=Now() where UserID="& rs("UserID"))
eller
myConn.Execute("update users set lastlogin='"& now() &"' where UserID="& rs("UserID"))

I det sidste tilfælde skal du måske formatere now(), hvis databasen ikke vil godtage det format den kommer på. f.eks now() = "31-12-2003 23:59:00" skal laves om til "20031231 23:59:00", hvis det er det format databasen bruger....
Avatar billede rasmus_h Nybegynder
23. februar 2004 - 22:05 #2
Det er bare super!

Det er denne der skal bruges (valgte den, da den så mest rigtig ud)
myConn.Execute("update users set lastlogin='"& now() &"' where UserID="& rs("UserID"))

- Rasmus!
Avatar billede rasmus_h Nybegynder
23. februar 2004 - 22:06 #3
Jeg har ikke behov for at formatere dato formatet, det passer fint ind.

Placer lige et svar så du kan få ldit point!

- Rasmus!
Avatar billede fennec Nybegynder
23. februar 2004 - 22:11 #4
Jeg skal altid formatere mine datoer, men det er måske ikke et dato felt du gemmer til i databasen, men der imod en almindelig tekst? Det kan selvfølgelig også være ligemeget, da du sikkert ikke skal sortere på datoen. Det vigtige er at det fungere....
Avatar billede rasmus_h Nybegynder
23. februar 2004 - 22:14 #5
Jo det er et dato felt...

Men det ser ud til at virke, den har ihvertfald skrevet tid/dato i feltet.

Og nej, der skal ikke sorteres på det... Det er bare så jeg kan se hvem der bruger login eller ej...

- Rasmus!
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

IT-JOB

Politiets Efterretningstjeneste

Teknisk IT-sikkerhedsspecialist i PET

Politiets Efterretningstjeneste

Fullstack softwareudvikler i PET

Everllence

Data Engineer

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger analytisk stærk og erfaren medarbejder i Hvidovre