我要用vs2010做一个用户登录的网页,可以是asp,也可以是asp.net,但要包含数据库,我是个菜鸟,求大虾赐教
1个回答
展开全部
,先建立一个数据库UserTest。
2,在里面建立一个表叫UsersTable,设计表,建立三个列:u_id, u_name, u_pwd。
3,u_id是int数据类型,自增1;u_name是nvarchar类型,长度12;u_pwd是varchar类型,长度12,然后保存该表。
4,打开表,在第一行u_name输入“abc”,u_pwd输入“abc”。关闭表。
5,打开VS,新建一个Web项目。双击默认的default.aspx页面,然后将 <body>... </body>替换成下面的代码:
HTML code
<!-- 替换-->
<body style="margin: 0px">
<form id="form1" runat="server">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; height: 50px">
<tr>
<td style="vertical-align: middle; width: 50%; text-align: center; font-weight: bold; font-size: 25px; color: #003366; font-family: Arial;">yunleizhilian 的登录示范</td>
<td style="vertical-align: middle; text-align: left">
<asp:Panel ID="pnlLogin" runat="server" Height="30px" Width="100%">
用户名:<asp:TextBox ID="txbUserName" runat="server"></asp:TextBox>密码:
<!-- 对于密码TextBox,应把TextMode属性设置为Password,这样输入的值会以****形式出现,保护密码在输入时不被别人看到 -->
<asp:TextBox ID="txbUserPassword" runat="server" TextMode="Password"></asp:TextBox>
<asp:Button ID="btnLogin" runat="server" Text="登录" OnClick="btnLogin_Click" /></asp:Panel>
<asp:Panel ID="pnlWelcome" runat="server" Height="30px" Width="100%">
<asp:Label ID="lblWelcome" runat="server"></asp:Label>
<asp:Button ID="btnQuit" runat="server" CausesValidation="False" Text="退出" Width="146px" OnClick="btnQuit_Click" /></asp:Panel>
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; height: 100px">
<tr>
<td style="vertical-align: middle; text-align: center">
<!-- 这个用来显示登录是否成功的信息 -->
<asp:Label ID="lblMessage" runat="server" ForeColor="#C00000"></asp:Label></td>
</tr>
</table>
</form>
</body>
<!-- 替换结束 -->
6,按F7,进入代码视图,在Page_Load()里写下面的代码:
C# code
protected void Page_Load(object sender, EventArgs e)
{
//确保页面是第一次被访问
if (!Page.IsPostBack)
{
CheckPageStatus();
}
}
//通过判断Session["UserName"]是否为空检查页面是否已登录(登录成功时会为Session["UserName"]注入值,就不空了。。否则就认为没有登录)。
private void CheckPageStatus()
{
if (Session["UserName"] != null)
{
pnlLogin.Visible = false;
pnlWelcome.Visible = true;
lblWelcome.Text = "欢迎登录," + Session["UserName"].ToString() + " 同志";
}
else
{
pnlWelcome.Visible = false;
pnlLogin.Visible = true;
}
//这个用来接收登录或退出后的信息。个人习惯,你也可以不这么做。
if (Session["Message"] != null)
{
lblMessage.Text = Session["Message"].ToString();
Session.Remove("Message");
}
else
lblMessage.Text = "";
}
7,先告一段落,按F5运行下,看看效果,你会发现当没有登录时,“退出”那部分没有显示。真神奇啊。
8,然后关闭这个IE页面,按VS左下角的“设计”,切换到设计视图。
9,双击设计视图的“登录”按钮,为它编写登录代码如下:
C# code
protected void btnLogin_Click(object sender, EventArgs e)
{
//下面的登录方法只是我的习惯而已,我常用DataTable做所有的事情。建议你不要依赖它……否则会被人笑话的……登录的好方法有很多,参考下就好了。
string strConnection = "SERVER=(local);DATABASE=UserTest;UID=sa;PWD=";//PWD=后面写上你的SQL SERVER 的 sa密码。
System.Data.SqlClient.SqlConnection cn = new System.Data.SqlClient.SqlConnection(strConnection);
//SQL 语句会吧?不会没办法,照抄吧。
string strSql = "SELECT * FROM UsersTable WHERE u_name='" + txbUserName.Text + "' AND u_pwd='" + txbUserPassword.Text + "'";
//SqlDataAdapter这东西有什么用,建议你去查MSDN。
System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter(strSql, cn);
System.Data.DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
Session["UserName"] = dt.Rows[0]["u_name"].ToString();
Session["Message"] = "登录成功!";
Response.Redirect("default.aspx");
}
else
{
Session["Message"] = "登录失败。请重新登录。";
Response.Redirect("default.aspx");
}
}
10,再按F5测试下,在用户名和密码内输入123,按下“登录”按钮,会提示登录失败。如果都输入abc,就会提示登录成功。因为数据库内只有abc这个用户。
11,关闭IE页面,最后我们做退出。
12,回到设计视图,双击“退出”按钮,为它编写下面的代码:
C# code
protected void btnQuit_Click(object sender, EventArgs e)
{
if (Session["UserName"] != null)
{
Session.Remove("UserName");
Session["Message"] = "退出成功,欢迎您再来啊";
Response.Redirect("default.aspx");
}
}
13,按F5运行,登录成功后,按“退出”按钮,系统会提示已经退出。
14,为了验证用户是否已登录,你需要在所有需要登录的页面的Page_Load()内添加:
C# code
if(Session["UserName"]!=null)
//用户可以访问。
else
//用户不能访问,扔回到登录页面:Response.Redirect("login.aspx");
15,基本如此,搞定。
2,在里面建立一个表叫UsersTable,设计表,建立三个列:u_id, u_name, u_pwd。
3,u_id是int数据类型,自增1;u_name是nvarchar类型,长度12;u_pwd是varchar类型,长度12,然后保存该表。
4,打开表,在第一行u_name输入“abc”,u_pwd输入“abc”。关闭表。
5,打开VS,新建一个Web项目。双击默认的default.aspx页面,然后将 <body>... </body>替换成下面的代码:
HTML code
<!-- 替换-->
<body style="margin: 0px">
<form id="form1" runat="server">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; height: 50px">
<tr>
<td style="vertical-align: middle; width: 50%; text-align: center; font-weight: bold; font-size: 25px; color: #003366; font-family: Arial;">yunleizhilian 的登录示范</td>
<td style="vertical-align: middle; text-align: left">
<asp:Panel ID="pnlLogin" runat="server" Height="30px" Width="100%">
用户名:<asp:TextBox ID="txbUserName" runat="server"></asp:TextBox>密码:
<!-- 对于密码TextBox,应把TextMode属性设置为Password,这样输入的值会以****形式出现,保护密码在输入时不被别人看到 -->
<asp:TextBox ID="txbUserPassword" runat="server" TextMode="Password"></asp:TextBox>
<asp:Button ID="btnLogin" runat="server" Text="登录" OnClick="btnLogin_Click" /></asp:Panel>
<asp:Panel ID="pnlWelcome" runat="server" Height="30px" Width="100%">
<asp:Label ID="lblWelcome" runat="server"></asp:Label>
<asp:Button ID="btnQuit" runat="server" CausesValidation="False" Text="退出" Width="146px" OnClick="btnQuit_Click" /></asp:Panel>
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; height: 100px">
<tr>
<td style="vertical-align: middle; text-align: center">
<!-- 这个用来显示登录是否成功的信息 -->
<asp:Label ID="lblMessage" runat="server" ForeColor="#C00000"></asp:Label></td>
</tr>
</table>
</form>
</body>
<!-- 替换结束 -->
6,按F7,进入代码视图,在Page_Load()里写下面的代码:
C# code
protected void Page_Load(object sender, EventArgs e)
{
//确保页面是第一次被访问
if (!Page.IsPostBack)
{
CheckPageStatus();
}
}
//通过判断Session["UserName"]是否为空检查页面是否已登录(登录成功时会为Session["UserName"]注入值,就不空了。。否则就认为没有登录)。
private void CheckPageStatus()
{
if (Session["UserName"] != null)
{
pnlLogin.Visible = false;
pnlWelcome.Visible = true;
lblWelcome.Text = "欢迎登录," + Session["UserName"].ToString() + " 同志";
}
else
{
pnlWelcome.Visible = false;
pnlLogin.Visible = true;
}
//这个用来接收登录或退出后的信息。个人习惯,你也可以不这么做。
if (Session["Message"] != null)
{
lblMessage.Text = Session["Message"].ToString();
Session.Remove("Message");
}
else
lblMessage.Text = "";
}
7,先告一段落,按F5运行下,看看效果,你会发现当没有登录时,“退出”那部分没有显示。真神奇啊。
8,然后关闭这个IE页面,按VS左下角的“设计”,切换到设计视图。
9,双击设计视图的“登录”按钮,为它编写登录代码如下:
C# code
protected void btnLogin_Click(object sender, EventArgs e)
{
//下面的登录方法只是我的习惯而已,我常用DataTable做所有的事情。建议你不要依赖它……否则会被人笑话的……登录的好方法有很多,参考下就好了。
string strConnection = "SERVER=(local);DATABASE=UserTest;UID=sa;PWD=";//PWD=后面写上你的SQL SERVER 的 sa密码。
System.Data.SqlClient.SqlConnection cn = new System.Data.SqlClient.SqlConnection(strConnection);
//SQL 语句会吧?不会没办法,照抄吧。
string strSql = "SELECT * FROM UsersTable WHERE u_name='" + txbUserName.Text + "' AND u_pwd='" + txbUserPassword.Text + "'";
//SqlDataAdapter这东西有什么用,建议你去查MSDN。
System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter(strSql, cn);
System.Data.DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
Session["UserName"] = dt.Rows[0]["u_name"].ToString();
Session["Message"] = "登录成功!";
Response.Redirect("default.aspx");
}
else
{
Session["Message"] = "登录失败。请重新登录。";
Response.Redirect("default.aspx");
}
}
10,再按F5测试下,在用户名和密码内输入123,按下“登录”按钮,会提示登录失败。如果都输入abc,就会提示登录成功。因为数据库内只有abc这个用户。
11,关闭IE页面,最后我们做退出。
12,回到设计视图,双击“退出”按钮,为它编写下面的代码:
C# code
protected void btnQuit_Click(object sender, EventArgs e)
{
if (Session["UserName"] != null)
{
Session.Remove("UserName");
Session["Message"] = "退出成功,欢迎您再来啊";
Response.Redirect("default.aspx");
}
}
13,按F5运行,登录成功后,按“退出”按钮,系统会提示已经退出。
14,为了验证用户是否已登录,你需要在所有需要登录的页面的Page_Load()内添加:
C# code
if(Session["UserName"]!=null)
//用户可以访问。
else
//用户不能访问,扔回到登录页面:Response.Redirect("login.aspx");
15,基本如此,搞定。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询