Jag har problem med en inloggningsida där jag vill kolla om det är "admin" som loggar in eller ett "företag" som ska loggas in. Hej Sara, Jag skulle inte lägga in det i en Page_Load, utan skapa en funktion som anropas av knapptrycket. Då kollar du först om fälten är ifyllda eller ej. Sen lägger du in kontroll av anvnamn och lösen. Jag fick till det genom att göra ung som du sa, jag byggde om alltihopa och la in ett "roller" fält i tabellen...=)inloggnings problem
admin skickas till en sida och medlemmarna till en annan.... så här ser koden ut:
void Page_Load(){
if(IsPostBack){
string strAnvnamn=ctAnvnamn.Text.Replace("'","''");
string strCorrUserName="admin";
string strLosen=ctLosen.Text.Replace("'","''");
string strCorrPassword="admin";
if(strAnvnamn==strCorrUserName && strLosen==strCorrPassword){
Session["skeMat"]="passed";
Response.Redirect("admin_index.aspx");
}
string strConn= ConfigurationSettings.AppSettings["sqlConnection"];
string strSqlQ="SELECT * FROM foretagTb WHERE anvnamn='" +strAnvnamn+"' AND losen='"+strLosen+"';";
/*****************************************************************/
OleDbConnection objConn=new OleDbConnection(strConn);
OleDbCommand objComm=new OleDbCommand(strSqlQ,objConn);
OleDbDataReader objDataR=null;
objConn.Open();
objDataR=objComm.ExecuteReader();
if(objDataR.Read()==true){
Session["foretag"]=Int32.Parse(objDataR["foretagId"].ToString());
Session["skeMat"]="passed";
objDataR.Close();
objConn.Close();
Response.Redirect("comp_admin.aspx");
}
else{
ctMessage.Text="Du har angivit fel användarnamn eller lösenord. Försök igen";
}
}
}
Problemet är att om man inte skriver in något i fälten så hamnar man på "företagssidan", jag förmodar att det har något att göra med sessionen["skeMat"] men jag får inte till det ...
session["foretag"] skickas med till företagssidan för att få fram rätt info till rätt företag
någon som har nåt bra förslag??
MVH
Sara
Sv: inloggnings problem
Du skulle ju egentligen kunna ha administratör konton i databasen också, lägga till ett fält där du hanterar roller i tabellen med dina konton. Ex. 0 för företag och 1 för administratörer, detta är väldigt simpelt och kan göras bättre och även säkrare. Jag skulle också bygga om hela strukturen för inloggningen.
Om du har allt i samma tabell så skulle du kunna kolla så här:
if (myReader["role"] == 1)
// administrator
else
// standard user
/m
Sv: inloggnings problem
Sv:inloggnings problem
Tackar så mycket för hjälpen!
MVH
Sara