ASP.NET菜鸟之路之登录系统
背景
我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了。
网站介绍
注册介绍
protected void Button1_Click(object sender, EventArgs e)
{
if (txtName.Text == "" || txtPwd.Text == "" || txtConfirm.Text == "")
{
this.Page.RegisterStartupScript("ss", "<script>alert('用户名密码不能为空')</script>");
return;
} if (txtPwd.Text.Equals(txtConfirm.Text))
{
//查看当前用户是否存在
SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
sqlConn.Open();
string sql = "select * from tb_user where username = '" + txtName.Text.Trim() + "'";
SqlCommand sqlCommand = new SqlCommand(sql, sqlConn);
SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
if (sqlDataReader.Read())
{
Page.RegisterStartupScript("", "<script>alert('用户名已存在!')</script>");
return;
}
sqlDataReader.Close(); //新增用户
string strInsert = "insert into tb_user(username, pwd, marks) values (@username,@pwd, @marks)";
sqlCommand = new SqlCommand(strInsert, sqlConn);
sqlCommand.Parameters.Add("@username", SqlDbType.VarChar);
sqlCommand.Parameters["@username"].Value = txtName.Text; sqlCommand.Parameters.Add("@pwd", SqlDbType.VarChar, 20);
sqlCommand.Parameters["@pwd"].Value = txtPwd.Text; sqlCommand.Parameters.Add("@marks", SqlDbType.VarChar, 1000);
sqlCommand.Parameters["@marks"].Value = "zbq测试"; sqlCommand.ExecuteNonQuery();
sqlConn.Close(); Page.RegisterStartupScript("", "<script>alert('注册成功!')</script>");
Response.Redirect("Default.aspx?Name=" + txtName.Text + "");
}
}
界面效果如下


登录介绍
首先添加登录窗口ManageLogin.aspx,然后写登录代码,包含验证码这一要点
protected void btnLogin_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(txtName.Text)|| string.IsNullOrEmpty(txtPwd.Text) || string.IsNullOrEmpty(txtValid.Text))
{
Page.RegisterStartupScript("", "<script>alert('信息填写不完全!')</script>");
return;
}
if (!txtValid.Text.ToUpper().Equals(Session["ValidNums"]))
{
Page.RegisterStartupScript("", "<script>alert('验证码不正确!')</script>");
return;
} SqlConnection sql = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
sql.Open(); string select = "select * from tb_user t where t.username = '" + txtName.Text.Trim() + "' and pwd = '" + txtPwd.Text.Trim() +
"'"; SqlCommand command = new SqlCommand(select, sql); SqlDataReader dataReader = command.ExecuteReader(); if (dataReader.Read())
{
//成功就跳转
Response.Redirect("Default.aspx?Name=" + txtName.Text + "");
}
else
{
Page.RegisterStartupScript("", "<script>alert('账户名或密码错误!')</script>");
dataReader.Close();
return;
}
修改密码介绍
<table class="table" border="1px" align="center">
<tr>
<td class="firstTd">用户名:</td>
<td >
<asp:DropDownList runat="server" ID="names" Width="200px" Height="20px" />
</td>
</tr>
<tr>
<td class="firstTd">原密码:</td>
<td >
<asp:TextBox runat="server" ID="txtOldPwd" TextMode="Password" />
</td>
</tr>
<tr>
<td class="firstTd">新密码:</td>
<td >
<asp:TextBox runat="server" ID="txtNewPwd" TextMode="Password"></asp:TextBox>
</td>
</tr>
<tr>
<td class="firstTd"> </td>
<td align="right">
<span >
<asp:Button runat="server" ID="btnSure" OnClick="btnSure_Click" Text="确认登录"/>
<asp:Button runat="server" ID="btnCancle" OnClick="btnCancle_Click" Text="取消"/>
</span>
</td>
</tr> </table>
然后编写修改方法,包含SqlDataAdapter + DataSet关键点
protected void Page_Load(object sender, EventArgs e)
{
//初始化数据
if (!IsPostBack)
{
SqlConnection sql = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
sql.Open();
string select = "select * from tb_user";
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(select, sql); DataSet dataSet = new DataSet();
sqlDataAdapter.Fill(dataSet);
sql.Close();
if (dataSet.Tables[0].Rows.Count> 0)
{
for (int index = 0; index < dataSet.Tables[0].Rows.Count; index++)
{
names.Items.Add(dataSet.Tables[0].Rows[index][1].ToString()); }
}
}
}
protected void btnSure_Click(object sender, EventArgs e)
{ if (string.IsNullOrEmpty(txtNewPwd.Text) || string.IsNullOrEmpty(txtOldPwd.Text))
{
Page.RegisterStartupScript("", "<script>alert('密码不能为空或者不能不相等!')</script>");
return;
} SqlConnection sqlConnection = new SqlConnection("server=PC-20150424DMHQ;database=MyDatas;uid=sa;pwd=123456");
string select = "select * from tb_user where username = '" +names.Text + "'";
SqlCommand sqlCommand = new SqlCommand(select, sqlConnection);
sqlConnection.Open();
SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
if (sqlDataReader.Read())
{
if (sqlDataReader["pwd"].ToString() != txtOldPwd.Text)
{
Page.RegisterStartupScript("", "<script>alert('密码输入错误!')</script>");
return;
}
}
else
{
Page.RegisterStartupScript("", "<script>alert('数据库连接错误!')</script>");
return;
}
sqlConnection.Close();
sqlDataReader.Close(); //修改密码
sqlConnection.Open();
string updatePwd = "update tb_user set pwd = '" + txtNewPwd.Text + "' where username = '" + names.Text + "'";
sqlCommand = new SqlCommand(updatePwd, sqlConnection); sqlCommand.ExecuteNonQuery();
sqlConnection.Close();
Page.RegisterStartupScript("", "<script>alert('修改成功!')</script>");
Page_Load(null, null);
}
修改密码界面效果

ASP.NET菜鸟之路之登录系统的更多相关文章
- ASP.NET菜鸟之路之Application小例子
背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. Session介绍 Application对象用 ...
- ASP.NET菜鸟之路之实现新闻列表增删改
背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. 网站介绍 根据视频的例子修改的方法,其中数据不经 ...
- ASP.NET菜鸟之路之Seesion小例子
背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. Session介绍 Session保存特定用户相 ...
- ASP.NET菜鸟之路之Request小例子
背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. Request获取值 Request获取值有两种 ...
- ASP.NET菜鸟之路之Response小例子
背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. Response.Write Redirect ...
- 教你开发asp.net的单点登录系统
单点登录系统,简称SSO.以下是我花了几个小时写的一个简单实现.特把实现思路和大家分享. 背景:某项目使用ASP.NET MemberShip来做会员系统,需要同时登录多个系统.而项目的开发人员无法在 ...
- 菜鸟之路——Linux基础::计算机网络基础,Linux常用系统命令,Linux用户与组权限
最近又重新安排了一下我的计划.准备跟着老男孩的教程继续学习,感觉这一套教程讲的很全面,很详细.比我上一套机器学习好的多了. 他的第一阶段是Python基础,第二阶段是高等数学基础,主要将机器学习和深度 ...
- ASP.net 实现禁止用户重复登录
本文先为大家介绍如何利用缓存Cache方便地实现此功能. Cache与Session这二个状态对像的其中有一个不同之处,Cache是一个全局对象,作用的范围是整个应用程序,所有用户:而Session是 ...
- Easyui + asp.net MVC 系列教程 完成登录
Easyui + asp.net MVC 系列教程 第09-17 节 完成登录 高清录制 前面八节 在这里 Easyui + asp.net mvc + sqlite 开发教程(录屏)适合入门 在接下 ...
随机推荐
- iOS手写2048--基于Xcode7.1
闲着没事自己想了下,半天写出来了,没有美化,只是实现了基本的2048,被我改成了A.B.C.D.E: 没有游戏开发经验,完全基于uiview 和 一大堆逻辑计算,如果你有指针.链表的使用经验,应该会很 ...
- Delphi控件的显示内容与显示边框是两回事
没有内容,不代表没有边框.比如设计期一个空的TImage仍是有边框的. if (csOpaque in image1.ControlStyle) then ShowMessage('不透明')else ...
- Android Studio使用远程依赖时下载不了jar包的解决方法
使用AS很大的一个好处就是可以使用在线jar包,只需在引用jar包的时候在版本后加上+,比如: compile 'com.facebook.fresco:fresco:0.1.0+' 这样不用在jar ...
- 【Linux】鸟哥的Linux私房菜基础学习篇整理(十)
1. at [-mldv] TIME/at -c 工作号码:单一工作调度.参数:-m:当at的工作完成后,即使没有输出信息,以email通知用户该工作已完成:-l:相当于atq,列出目前系统上面的所有 ...
- bzoj2400
首先xor类的题目一定要逐位考虑,因为位位之间是不相互影响的逐位考虑每个点是0还是1,这就转化成了一个这样一个问题对于每个点可以选择属于S集合(这位是0)或T集合(这位是1)某些的点对(一条边的两端) ...
- 网络编程-pcap数据包格式
Libpcap的官方网站是http://www.tcpdump.org/,该项目和Tcpdump项目是同一个团队维护.Libpcap是一个平台独立的 数据包捕获开发包,制定了数据包离线存储的事实标准. ...
- 我的第一个wp8小程序
一:截图,功能介绍:点击音乐红色按钮,播放铃声 二:代码 XAML代码 <phone:PhoneApplicationPage x:Class="PhoneApp1.MainPage& ...
- Sort List ——LeetCode
Sort a linked list in O(n log n) time using constant space complexity. 链表排序,要求时间复杂度O(nlgn),我写的归并排序. ...
- Docker网络模式
[编者的话] 本文是<Docker网络及服务发现>一书的一个章节,介绍了搭建Docker单主机网络的基础内容.关于Docker网络的更多内容,包括多主机的网络,请参考该书的其他章节. @C ...
- The Minimum Length - HUST 1010(求最小循环节)
题意:有个一字符串A(本身不是循环串),然后经过很多次自增变成AAAAA,然后呢从自增串里面切出来一部分串B,用这个串B求出来A的长度. 分析:其实就是求最小循环节.......串的长度 - 最大 ...