Gå til innhold

C#: [Løst]Litt hjelp til meget enkel brukerdatabase i c#


Anbefalte innlegg

Trenger hjelp til å fortsette på det lille og enkle forsøket jeg har begynt på. :)

 

default.aspx.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Collections;

public partial class _Default : System.Web.UI.Page 
{
private char KrypteringBrukernavn(char tegn, int nokkelBrukernavn)
{
	int tegnverdi = (int)tegn;
	tegnverdi = tegnverdi + nokkelBrukernavn;
	return (char)tegnverdi;
}

private string omFormMeldingBrukernavn(string meldingBrukernavn, int nokkelBrukernavn)
{
	string omformet = "";
	char[] tegn = meldingBrukernavn.ToCharArray();
	for (int i = 0; i < tegn.Length; i++)
	{
		omformet += KrypteringBrukernavn(tegn[i], nokkelBrukernavn);
	}
	return omformet;
}

private char KrypteringPassord(char tegn, int nokkelPassord)
{
	int tegnverdi = (int)tegn;
	tegnverdi = tegnverdi + nokkelPassord;
	return (char)tegnverdi;
}

private string omFormMeldingPassord(string meldingPassord, int nokkelPassord)
{
	string omformet = "";
	char[] tegn = meldingPassord.ToCharArray();
	for (int i = 0; i < tegn.Length; i++)
	{
		omformet += KrypteringPassord(tegn[i], nokkelPassord);
	}
	return omformet;
}

protected void Page_Load(object sender, EventArgs e)
{

}

protected void btnLoggInn_Click(object sender, EventArgs e)
{
	string meldingBrukernavn = txtRegistrerNavn.Text;
	int nokkelBrukernavn = 6;
	nokkelBrukernavn = -nokkelBrukernavn;

	string meldingPassord = txtRegistrerPassord.Text;
	int nokkelPassord = 6;
	nokkelPassord = -nokkelPassord;

	string Brukernavn = omFormMeldingBrukernavn(meldingBrukernavn, nokkelBrukernavn);
	string Passord = omFormMeldingPassord(meldingPassord, nokkelPassord);

	if (txtLoggInnNavn.Text == Brukernavn && txtLoggInnPassord.Text == Passord)
	{
		Response.Redirect("LoggInn.aspx");
	}
	else
	{
		Response.Redirect("feil.aspx");
	}
}

protected void btnRegistrer_Click(object sender, EventArgs e)
{
	string filsti = Server.MapPath(@"database.txt");
	FileStream fs = new FileStream(filsti, FileMode.Append, FileAccess.Write);
	StreamWriter sw = new StreamWriter(fs);

	string meldingBrukernavn = txtRegistrerNavn.Text;
	int nokkelBrukernavn = 6;

	string meldingPassord = txtRegistrerPassord.Text;
	int nokkelPassord = 6;

	string Brukernavn = omFormMeldingBrukernavn(meldingBrukernavn, nokkelBrukernavn);
	string Passord = omFormMeldingPassord(meldingPassord, nokkelPassord);

	sw.WriteLine(Brukernavn + " - " + Passord);
	sw.Close();

	Response.Redirect("LoggetInn.aspx");
}
}

Å registrere går greit og brukeren blir lagt til i database.txt.

Untitled-1-4.jpg

 

Design:

Untitled-2-1.jpg

 

Men så er det å logge inn og hente en eksisterende bruker fra databasen eller altså database.txt...

Lenke til kommentar
Videoannonse
Annonse

Har bare en ting å si: Dropp TXT filer. I det minste burde du bruke XML filer slik at du har en eller annen form for Record handling. Gjør du ikke det så må du lage deg en record klasse og laste TXT filen inn i en List<RecordClass> elelr tilsvarende. Dermed kan du bruke denne.

 

Når du først har fått opp collection på en eller anne måte så har du mange flere muligheter.

 

Eksempelvis kan du bruke LINQ på denne måten:

var Bruker = (from b in MyDB.Brukere
		  where b.BrukerNavn == txtBrukernavn.Text && 
		  b.Passord == txtPassord.Text
		  select b).FirstOrDefault();
if (Bruker != null)
 // Vi har en gyldig bruker
 Response.Redirect("LoggInnGodkjennt.aspx");
else
 Response.Redirect("FeilBruker.aspx");

Lenke til kommentar

Fikk det til. Det var bare litt småfeil og modifikasjoner som skulle til. Om noen skulle være interessert så er koden her:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Collections;

public partial class _Default : System.Web.UI.Page 
{
private char KrypteringBrukernavn(char tegn, int nokkelBrukernavn)
{
	int tegnverdi = (int)tegn;
	tegnverdi = tegnverdi + nokkelBrukernavn;
	return (char)tegnverdi;
}

private string omFormMeldingBrukernavn(string meldingBrukernavn, int nokkelBrukernavn)
{
	string omformet = "";
	char[] tegn = meldingBrukernavn.ToCharArray();
	for (int i = 0; i < tegn.Length; i++)
	{
		omformet += KrypteringBrukernavn(tegn[i], nokkelBrukernavn);
	}
	return omformet;
}

private char KrypteringPassord(char tegn, int nokkelPassord)
{
	int tegnverdi = (int)tegn;
	tegnverdi = tegnverdi + nokkelPassord;
	return (char)tegnverdi;
}

private string omFormMeldingPassord(string meldingPassord, int nokkelPassord)
{
	string omformet = "";
	char[] tegn = meldingPassord.ToCharArray();
	for (int i = 0; i < tegn.Length; i++)
	{
		omformet += KrypteringPassord(tegn[i], nokkelPassord);
	}
	return omformet;
}

protected void Page_Load(object sender, EventArgs e)
{

}

protected void btnLoggInn_Click(object sender, EventArgs e)
{
	string meldingBrukernavn = txtLoggInnNavn.Text;
	int nokkelBrukernavn = 6;

	string meldingPassord = txtLoggInnPassord.Text;
	int nokkelPassord = 6;

	string Brukernavn = omFormMeldingBrukernavn(meldingBrukernavn, nokkelBrukernavn);
	string Passord = omFormMeldingPassord(meldingPassord, nokkelPassord);

	string fil = Server.MapPath(@"database.txt");
	FileStream sr = new FileStream(fil, FileMode.Open, FileAccess.Read);
	StreamReader ss = new StreamReader(fil);

	string tekst = "";
	for (int les = 0; les < 999999; les++)
	{
		tekst = ss.ReadLine();
		if (Brukernavn + " - " + Passord == tekst)
		{
			Response.Redirect("Innlogget.aspx");
		}
		else
		{
			Response.Redirect("feil.aspx");
		}
	}

	sr.Close();
	ss.Close();
}

protected void btnRegistrer_Click(object sender, EventArgs e)
{
	if (txtRegistrerNavn.Text != "" && txtRegistrerPassord.Text != "")
	{
		string filsti = Server.MapPath(@"database.txt");
		FileStream fs = new FileStream(filsti, FileMode.Append, FileAccess.Write);
		StreamWriter sw = new StreamWriter(fs);

		string meldingBrukernavn = txtRegistrerNavn.Text;
		int nokkelBrukernavn = 6;

		string meldingPassord = txtRegistrerPassord.Text;
		int nokkelPassord = 6;

		string Brukernavn = omFormMeldingBrukernavn(meldingBrukernavn, nokkelBrukernavn);
		string Passord = omFormMeldingPassord(meldingPassord, nokkelPassord);

		sw.WriteLine(Brukernavn + " - " + Passord);
		sw.Close();
		fs.Close();

		Response.Redirect("LoggetInn.aspx");
	}
	else
	{
		Response.Redirect("Feilregistrering.aspx");
	}
}
}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...