<h1>Logga in</h1>
<asp:Label ID="Message" runat="server" Text="Meddelande" ForeColor="#FF3300"></asp:Label>
<p>Användarnamn<br /><asp:TextBox ID="UserName" runat="server"></asp:TextBox></p>
<p>Lösenord<br /><asp:TextBox ID="Password" runat="server"></asp:TextBox></p>
<asp:Button ID="Login1" runat="server" Text="Logga in" />
Vid klick på "logga in" kollas uppgifterna mot databasen.
Protected Sub Login1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Login1.Click
Dim sql As String
Dim Userid As Int32
Dim conn As SqlConnection
Dim connectionstring As String = ConfigurationManager.ConnectionStrings("System91").ConnectionString
conn = New SqlConnection(connectionstring)
Dim comm As SqlCommand
Message.Text = ""
sql = "SELECT id, username, password FROM [User] WHERE username='" & UserName.Text & "' and password='" & Password.Text & "'"
comm = New SqlCommand(sql, conn)
Try
conn.Open()
Userid = comm.ExecuteScalar()
If Userid = 0 Then
Message.Text += " Du är inte inloggad. Om du inte är registrerad kan du göra det <a href='Userregistration.aspx'>här</a>"
Else
Message.Text += " Du är inloggad. ."
End If
Catch ex As SqlException
Message.Text += " Databasfel. " & ex.Number & ": " & ex.Message ', ex.Gettype.ToString
Message.Text += " Du är inte inloggad. "
Finally
conn.Close()
End Try
End Sub
Sedan är användaren inloggad, men för hur länge? Det framgår av Microsofts dokumentation av Session. En enklare beskrivning finns på utmärkta www.w3schools.com sida om ASP Sessions. W3schools (inte Microsoft!) ger svaret: standardvärdet är 20 minuter om annat inte bestämts av systemet.
Så nu fungerar alltså inloggningen, men det är ganska värdelös för användaren kommer inte vidare. Hur bör loginfunktionen vidareutvecklas?
- Logout
- Användarvillkor
- Ingen automatisk utloggning
- Uppdatera sidhuvudet
- Gå till en ny sida
Utan dessa tillägg är det inte meningsfullt att publicera login.aspx på www.server42.se
Inga kommentarer:
Skicka en kommentar