2017-05-26 11 views
0
string[] usernames; 
    string[] password ; 
    bool username; 
    bool passok; 
    bool match; 
    string passinp; 
    string userinp; 

    protected void Button1_Click(object sender, EventArgs e) 
    { 


     StreamReader SrUs = new StreamReader("Usernames.txt"); 
     StreamReader SrPass = new StreamReader("Password.txt"); 
     int i = 0; 
     while(!SrUs.EndOfStream) 
     { 
      usernames[i] = SrUs.ReadLine(); 
     } 
     i = 0; 
     while(SrPass.EndOfStream) 
     { 
      password[i] = SrPass.ReadLine(); 
     } 

     if (txt_pass.Text != "" && txt_username.Text != "") 
     { 
      passinp = txt_pass.Text; 
      userinp = txt_username.Text; 
     } 
     else 
     { 
      Label3.Text = "Missing information"; 
     } 

     int j = 0; 
     for(i = 0;i < usernames.Length;i++) 
     { 
      if(usernames[i] == userinp) 
      { 
       username = true; 
       break; 
      } 
     } 
     for(j = 0 ; j < password.Length;j++) 
     { 
      if(password[j]==passinp) 
      { 
       passok = true; 
       break; 
      } 

     } 
     if(username && passok && i == j) 
     { 
      Label3.Text = "Logon Correct"; 
     } 
     else 
     { 
      Label3.Text = "Logon Incorect"; 
     } 
    } 

    protected void Button2_Click(object sender, EventArgs e) 
    { 

    } 
} 

}Asp.Net kippt txt-Datei mit Stream

So findet, wenn ich dies ausführen es gibt mir einen Fehler, dass es nicht TXT-Datei finden kann, ist es gleiche in asp.net und in Windows Form app Verwendung von streamreader, ich txt Dateien in bin und root-Ordner, aber wieder gibt es mir den gleichen Fehler.

Antwort

1

Ihr Problem ist, Sie haben keine Ahnung, wo die aktuellen DLLs tatsächlich ausgeführt werden. Sie haben das Verzeichnis "bin" erraten.

Environment.CurrentDirectory ist wahrscheinlich die beste Wahl https://msdn.microsoft.com/en-us/library/system.environment.currentdirectory(v=vs.110).aspx

oder sehen diese Frage auf httpcontexts How do I get the current directory in a web service

TBH Benutzernamen und Passwörter in Textdateien innerhalb einer Website Arbeitsverzeichnis ist wahrscheinlich eine schlechte Idee zu speichern. Betrachten sie einen festen Verzeichnisspeicher außerhalb von C: \ inetpub \ oder ADFS verwenden oder eine Datenbank

NICHT Homebake YOUR OWN KEYCODE

+0

Im gerade für meine Klasse wirklich einfache Programmierung Projekt zu machen. Wenn ich dies für jemanden oder für meinen persönlichen Gebrauch tat, würde ich wahrscheinlich sql verwenden oder Datenbank von Zugriffen oder etwas importieren. –

+0

Wenn Sie ein Student sind, dann gut; Wenn Sie ein Lehrer sind - das ist schlecht. Es ist erstaunlich, was die Schüler am Beispiel lernen - und das ist ein schreckliches Beispiel. –

1

In ASP.NET Sie Systemverzeichnisse nicht direkt verwenden können. Sie müssen Server.MapPath("~/") verwenden, um den Stammverzeichnispfad Ihrer Anwendung abzurufen.

können Sie verwenden, wie dies

string FilePath = Server.MapPath("~/") + "Usernames.txt"; 
StreamReader SrUs = new StreamReader(FilePath);