---
title: "Login med paneler"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/88395-login-med-paneler"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "ctrlz"
published: "2003-10-13T12:13:19.000Z"
updated: "2003-10-15T09:25:18.000Z"
replies: 7
views: 437
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/88395-login-med-paneler"
---

# Login med paneler

## #1 — ctrlz, 2003-10-13T12:13Z

Hejsan!
Har problem med en inloggningskod. I stort sett är det så att jag har en sida där man kan logga in genom att skriva in ett lösenord och användarid. När man trycker på OK skall man ej komma vidare till en annan sida, utan då skall inloggningspanelen släckas och panel nr 2 skall tändas. Jag vet inte riktigt hur jag skall koda vidare för att tända och släcka panelerna. Jag har kodat så att koden kollar texten jag skrivit in, men hur gör jag sen? Jag använder mig av Access och c#, oledb.

String myConn  ="Provider=Microsoft.JET.OLEDB.4.0;Data Source=C:/Inetpub/wwwroot/sthlmkrog.mdb;";
OleDbConnection cn = new OleDbConnection(myConn);
cn.Open();
	
String strSQL = "SELECT \* FROM admin WHERE namn ='" + login.Text + "' & losen ='" + password.Text + "'";
			
			
OleDbCommand cmd = new OleDbCommand(strSQL, cn);
OleDbDataAdapter daTest = new OleDbDataAdapter(strSQL ,cn);

DataSet dsLogin = new DataSet();
daTest.Fill(dsLogin);

dsLogin.Tables.Count.ToString();

cn.Close();1

Permalänk: https://www.webforum.nu/p/88395

## #2 — m_soderlund, 2003-10-13T14:49Z

Du kan ju använda så kallade användarkontroller, *UserControls*. Vi säger att du har sidan login.aspx, den ser då ut så här:

```
<%@Page Language="C#" Strict="False" Debug="True" Inherits="login" Src="login.cs" %>
<html>
<head>
<title>Login</title>
</head>

<body>

<form id="login" runat="server">
<asp:placeholder id="panel"></asp:placeholder>
</form>

</body>
</html>
```

Sen skapar du en ny sida som heter login.cs, som kan se ut ungefär så här:

```
Imports System;
Imports System.Web;
Imports System.Web.UI;
Imports System.Web.UI.WebControls;
Imports System.Data;

public class login : Page
{

void Page_Load(Object Sender,EventArgs e) {

swich (login.Text)
{
case "":
panel.Controls.Add(Page.LoadControl("login.ascx"));
break;
default:
panel.Controls.Add(Page.LoadControl("_panel.ascx"));
break;
}

}

}
```

I login.ascx har du ditt inloggninsformulär, i \_panel.ascx har du det du vill visa efter att användaren loggat in.
Min kod är otestad och mina kunskaper inom ASP.NET ligger mer inom Visual Basic.NET än C#, men du kan väl testa. :)

**/r** Jag glömde att skriva att i login.ascx och \_panel.ascx ska du ha

```
<%@Control Language="C#" Strict="False" Debug="True"%>
```

i stället för

```
<%@Page Language="C#" Strict="False" Debug="True"%>
```

.

Permalänk: https://www.webforum.nu/p/1186177

## #3 — andreas_lindh, 2003-10-13T15:48Z

Använd en datareader för inloggningen.

Jag kan inte c# så jag har kopierat den mesta koden från en annan sida

```
String myConn ="Provider=Microsoft.JET.OLEDB.4.0;Data Source=C:/Inetpub/wwwroot/sthlmkrog.mdb;"; 
OleDbConnection cn = new OleDbConnection(myConn);  

String strSQL = "SELECT * FROM admin WHERE namn ='" + login.Text + "' & losen ='" + password.Text + "'"; 

OleDbCommand cmd = new OleDbCommand(strSQL, cn); 
reader = cmd.ExecuteReader();
cn.Open();

if (reader.Read())  
            {  
                 Inloggningspanel.visible = false;
                 andrapanelen.visible = true;
}
else  
                {  
                    lblMessage.Style["color"] = "red";  
                    lblMessage.Text = "Fel användarnamn eller lösenord.";  
                }  
            }  
reader.close();
sqlConn.Close();
```

Är inte säker på att jag skrivit rätt men du kan väl testa.

Permalänk: https://www.webforum.nu/p/1186212

## #4 — ctrlz, 2003-10-13T18:35Z

Tack!

Jag hann lösa det själv, men tack så mycket ni som hjälpte mig, tack tack!

Permalänk: https://www.webforum.nu/p/1186327

## #5 — Engine^, 2003-10-13T18:59Z

Kan man få se hur lösningen ser ut?

Permalänk: https://www.webforum.nu/p/1186343

## #6 — ctrlz, 2003-10-15T09:06Z

String myConn  ="Provider=Microsoft.JET.OLEDB.4.0;Data Source=C:/Inetpub/wwwroot/sthlmkrog.mdb;";
OleDbConnection cn = new OleDbConnection(myConn);
cn.Open();
	
String strSQL = "SELECT \* FROM admin WHERE namn ='" + login.Text + "' AND losen ='" + password.Text + "'";
			
			
OleDbCommand cmd = new OleDbCommand(strSQL, cn);
OleDbDataAdapter daTest = new OleDbDataAdapter(strSQL ,cn);

DataSet dsLogin = new DataSet();
daTest.Fill(dsLogin);

			
int antal = dsLogin.Tables\[0\].Rows.Count;
			
if(antal == 1)
{
	panel1.Visible=false;
	panel2.Visible=true;
}
else
	test.Text="Fel lösenord";

cn.Close();

Permalänk: https://www.webforum.nu/p/1187349

## #7 — Josef, 2003-10-15T09:11Z

Använd gärna \[kod\]-taggarna när du postar kod.

Permalänk: https://www.webforum.nu/p/1187353

## #8 — NETwork, 2003-10-15T09:25Z

Kanske lite lyxigt att lägga några användaruppgifter i ett eget dataset. :) Nu gissar jag att din applikation inte är så prestandaberoende men ta ändå för vana att alltid använda så lite systemresurser som möjligt!

Här finns lite tips för bättre prestanda:

<http://www.dotnetjunkies.com/QuickStart/aspplus/default.aspx?url=/quickstart/aspplus/doc/perftuning.aspx>

Permalänk: https://www.webforum.nu/p/1187367

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/88395-login-med-paneler
