Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[asp.net] Wie kan mij helpen met de inlogprocedure?

meneer_ed
7 antwoorden
  • Hoi,

    Om op de website te komen, moet je inloggen. Na het inloggen (login.aspx) gaat men automatisch naar default.aspx. De aanroep is goed, men gaat allereerst naar inlog.aspx, maar daarna blijf je in het inlogscherm hangen zonder door te gaan naar default.aspx.
    Het volgende heb ik tot op heden gemaakt

    De code in login.aspx
    [code:1:c25cd39e98]
    Protected Sub Validate_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim strConnectie As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("database.mdb")
    Dim conn As New OleDbConnection(strConnectie)
    Try
    conn.Open()
    Dim sql As String = "Select * From tbluser WHERE " & _
    "Username=txtUsername AND Password=txtPassword"
    Dim comm As New OleDbCommand(sql, conn)
    Dim reader As OleDbDataReader = comm.ExecuteReader
    conn.Close()

    Catch ex As Exception
    Console.Write(ex.ToString)
    End Try

    End Sub
    [/code:1:c25cd39e98]
    [code>]
    <td>
    <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="UserNameRequired" runat="server"
    ControlToValidate="txtUserName" ErrorMessage="De gebruikersnaam is verplicht."
    ToolTip="De gebruikersnaam is verplicht." ValidationGroup="Login1" >*</asp:RequiredFieldValidator>
    </td>

    <td>
    <asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox>
    <asp:RequiredFieldValidator ID="PasswordRequired" runat="server"
    ControlToValidate="txtPassword" ErrorMessage="Het wachtwoord is verplicht."
    ToolTip="Het wachtwoord is verplicht." ValidationGroup="Login1">*</asp:RequiredFieldValidator>
    </td>

    <td align="right" colspan="2">
    <asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Log In" <b>ContinueDestinationPageUrl="default.aspx"</b>
    ValidationGroup="Login1" OnClick="Validate_Click" />
    </td>



    De vermelding in web.config
    [code:1:c25cd39e98]

    <connectionStrings>
    <add name="databaseConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\www\mapblabla\database.mdb"
    providerName="System.Data.OleDb" />
    </connectionStrings>
    [/code:1:c25cd39e98]

    Tabel tbluser
    Id
    Username
    Password


    Waarom lukt het niet? Wat doe ik verkeerd? Het lijkt me oké, maar ik kan me vergissen (ik ben vrij nieuw met asp.net).

    M.vr.gr., Dalertje
  • Hm, net een antwoord zitten tikken op je andere vraag, zie ik deze pas :?
    Anyway, nu maak je een foutje in je query:[code:1:3a235f87d3] Dim sql As String = "Select * From tbluser WHERE " & _
    "Username=txtUsername AND Password=txtPassword" [/code:1:3a235f87d3]
    Je wil graag dat gecontroleerd wordt op de textboxen txtUsername en txtPassword. En daar heb je de Text-properties voor nodig, plus quotes om deze waarden. Wat je moet hebben is dit[code:1:3a235f87d3] Dim sql As String = "Select * From tbluser WHERE " & _
    "Username='" & txtUsername.Text * "' AND Password='" & txtPassword & "'" [/code:1:3a235f87d3]Let op: er staan dus enkele quotes (') bij.
    En nog iets: als je wil weten wat de foutmelding is, moet je gebruiken van ex.Message, en niet ex.ToString. ex.ToString geeft een string terug van het type van de variabele ex.
  • Hoi,

    De Text-properties heb ik reeds toegevoegd. Alleen het waarom van de enkele quotes is me niet helemaal duidelijk.
    Ik ben alweer een heel stuk verder met de inlogprocedure. Alleen ben ik nu aan het stoeien met de connectionstring.
    Overigens, ik heb de comm.Parameters.AddWithValue() ook toegevoegd.

    M.vr.gr., Dalertje
  • [quote:08206e4986="dalertje"]Alleen het waarom van de enkele quotes is me niet helemaal duidelijk.[/quote:08206e4986]Omdat je de waarde van een veld in je tabel gaat vergelijken met een tekst string. Met de quotes baken je in de query af welke tekst dat is. Het mogen ook dubbele quotes (";) zijn, maar in dit geval vind ik enkele quotes eenvoudiger in het gebruik.
    [quote:08206e4986="dalertje"]Overigens, ik heb de comm.Parameters.AddWithValue() ook toegevoegd. [/quote:08206e4986]Kun je dan eens laten zien wat je nu hebt? En misschien moet je 1 van de 2 posts laten sluiten? Is het wat overzichtelijker :wink:
  • Hoi,

    Zoals verzocht door Meneer_ed is hier de code reeds door mij gemaakt.

    Protected Sub Validate_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim strConnectie As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("database.mdb";)
    Dim conn As New OleDbConnection(strConnectie)
    Try
    conn.Open()
    Dim sql As String = "Select COUNT(*) From tbluser WHERE " & _
    "Username=@name AND Password=@pwd"
    Dim comm As New OleDbCommand(Sql, conn)
    comm.Parameters.AddWithValue("@name", txtUserName.Text)
    comm.Parameters.AddWithValue("@pwd", txtPassword.Text)
    Dim aantal As Integer = comm.ExecuteScalar()
    If (aantal > 0) Then
    FormsAuthentication.RedirectFromLoginPage(txtUserName.Text, False)
    Else
    txtMsg.Text = "Login onjuist"
    End If

    Catch ex As Exception
    txtMsg.Text = ex.Message
    Trace.Write(ex.ToString)
    Finally

    conn.Close()

    End Try

    End Sub

    Ik vraag aan de moderator of de ander een slotje op kan.

    M.vr.gr., Dalertje
  • Krijg je een foutmelding bij het inloggen? En zo ja, welke? Of blijf je hangen op de login.aspx pagina (zonder foutmelding)?

    Heb je al geprobeerd door de code heen te "steppen" (in C# is dat met F11, ik weet eigenlijk niet of dat in VB ook zo is)? En zo ja, wat kom je daar voor (eventuele) problemen tegen?
  • Hoi Meneer_ed,

    Na verder geexperimenteerd te hebben en verder navraag gedaan te hebben, kreeg ik na het uploaden van de bestanden een 'unhandled exception'. Die foutmelding heb ik met Google opgezocht en daar bleek dat soms het css-file voor die melding kan zorgen. Uiteindelijk heb ik deze maar opnieuw geupload en toen bleek het warempel tot zover te werken. Er zijn nog wel andere punten waaraan ik moet werken, maar die 'unhandled exception' komt niet meer voor en de inlogprocedure lijkt te werken.

    Dank je voor je medewerking en wellicht kom ik met een andere fout (waar ik niet uitkom) terug.

    M.vr.gr., Dalertje

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.