Avatar billede mullexp Nybegynder
19. april 2003 - 20:34 Der er 7 kommentarer

Hvorfor vil denne login ikke virker????

Jeg har lavet en login funktion, hvor man indtaster userid og kode. derefter skulle den samlinges med di værdi som er lagt på database.
Jeg bruger OleDbDataReader. hvor den går alle user'en igemmen, for at se om der er en som passer. Til dette bruger jeg en while løkker, og if.......

login.aspx

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Page Language="C#" %>
<script runat="server">
void LoginBtn_Click(Object sender, EventArgs e)
{
  if (Page.IsValid)
  {
    string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";
    strConnection += @"Data Source=D:\skole\4 semester\internet\Sysoptisk\New Folder\dvdfilm.mdb";
    string strSQL = "SELECT User,kode FROM userTabel";
    OleDbConnection objConnection = new OleDbConnection(strConnection);
    OleDbCommand objCommand = new OleDbCommand(strSQL, objConnection);
    OleDbDataReader objDataReader = null;
    try
    {
      objConnection.Open();
      objDataReader = objCommand.ExecuteReader();
      while (objDataReader.Read() == true)
      {
        if ((UserName.Text == objDataReader["User"]) && (UserPass.Text == objDataReader["kode"]))
        {
          Msg1.Text = "Din login passer";
          FormsAuthentication.RedirectFromLoginPage(UserName.Text, true);
        }
        else
        {
          Msg.Text = "Invalid login: Please try again";
        }
      }
    }
    catch (Exception t)
    {
    }
    objDataReader.Close();
    objConnection.Close(); 
  }
}
</script>
<html>
<head>
</head>
<body style="FONT-FAMILY: arial">
  <form runat="server">
    <h2>Login Page </h2>
    <hr size="1" />
      <table>
        <tbody>
          <tr>
            <td>
            Username:</td>
            <td>
            <asp:TextBox id="UserName" runat="server"></asp:TextBox>
            </td>
          </tr>
            <tr>
              <td>
              UserPass:</td>
              <td>
              <asp:TextBox id="UserPass" runat="server"></asp:TextBox>
              </td>
            </tr>
        </tbody>
        </table>
        <asp:Button id="Login" onclick="LoginBtn_Click" runat="server" Text="Button"></asp:Button>
        <br />
        <asp:Label id="Msg" runat="server"></asp:Label>
        <asp:Label id="Msg1" runat="server"></asp:Label>
    </form>
</body>
</html>
Avatar billede erikjacobsen Ekspert
19. april 2003 - 20:44 #1
Du kan da med fordel lade databasen gøre arbejdet:

  SELECT User,kode FROM userTabel where user='peter'

Den er nok bedre til det end du er ;)
Avatar billede gulbaek Nybegynder
19. april 2003 - 20:52 #2
Ja som erikjacobsen skrev, lad databasen gøre arbejdet

string strSQL = "SELECT User FROM userTable WHERE + UserName.Text + = User AND + UserPass.Text = kode";
Avatar billede mullexp Nybegynder
19. april 2003 - 23:45 #3
det kan godt være databasen er beder end mig, men det besvare stadigt ikke hvorfor det ikke virker. ;-)
Avatar billede erikjacobsen Ekspert
19. april 2003 - 23:51 #4
Du kunne starte med at fortælle os hvad problemet er, så vi ikke skal gætte.
Avatar billede mullexp Nybegynder
20. april 2003 - 11:02 #5
det er lige meget jeg fjøler dit råd, med at gøre det i SQL, Men selv fejlen var at den simpel hen ikke ville godkend og send mig vidre.......
Avatar billede erikjacobsen Ekspert
20. april 2003 - 11:05 #6
Ok, så må vi jo lave nogle testudskrifter ;)

Som det første i din while-sætning kunne du jo skrive hvad der
står i felterne. Så er det da til at se hvor langt og hvorfor den
kommer.
Avatar billede thrytter Nybegynder
23. april 2003 - 10:26 #7
Prøv
if ((UserName.Text == objDataReader["User"].ToString) && (UserPass.Text == objDataReader["kode"].ToString))
eller hvad ToString nu hedder i C#
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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