(转)asp.net实现忘记密码找回的代码
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
3 <html xmlns="http://www.w3.org/1999/xhtml" >
4 <head id="Head1" runat="server">
5 <title>个人会员密码找回</title>
6 <link href="/style.css" rel="stylesheet" type="text/css" />
7 <script language="javascript" type="text/javascript">
8 // 检查 E-mail 是否已被注册
9 function CheckEmail()
10 {
11 var e = document.getElementById("email").value;
12 if(e != "")
13 {
14 if(!/(\S)+[@]{1}(\S)+[.]{1}(\w)+/.test(e))
15 {
16 alert("请输入格式正确的E-mail 地址!");
17 var email = document.getElementById ( "email" );
18 email.value = "";
19 email.focus ();
20 }
21 }
22 }
23
24 function checkAll()
25 {
26 var ee = document.getElementById("username").value;
27 if(ee == "")
28 {
29 alert('登录名称不能为空');
30 return false;
31 }
32
33 var e = document.getElementById("email").value;
34 if(e == "")
35 {
36 alert('Emial不能为空');
37 return false;
38 }
39
40
41 }
42
43 </script>
44 </head>
45 <body>
46 <form id="form1" runat="server">
47 <div>
48 <table width="778" border="0" align="center" cellpadding="5" cellspacing="0" class="table_huang">
49 <tr>
50 <td colspan="2" class="TD_huang_14_write"> <span style="font-size: 11pt">>> 获取密码</span></td>
51 </tr>
52 <tr>
53 <td width="26"></td>
54 <td width="724"><table width="90%" border="0" cellspacing="2" cellpadding="5">
55 <tr>
56 <td width="23%"><div align="right">用户名:</div></td>
57 <td width="77%">
58 <asp:TextBox ID="username" runat="server" Width="150px" ></asp:TextBox></td>
59 </tr>
60 <tr>
61 <td><div align="right">注册时填写的Email:</div></td>
62 <td>
63 <asp:TextBox ID="email" runat="server" Width="200px" ></asp:TextBox></td>
64 </tr>
65 <tr>
66 <td><div align="right">验证码:</div></td>
67 <td><table width="100%">
68 <tr>
69 <td align="left" valign="top" style="width: 64px"><asp:TextBox ID="txt_validcode" runat="server" Height="15px" Width="62px"></asp:TextBox> </td>
70 <td align="left" valign="top"><img id="yzm" src="../ValidateCode.aspx" /></td>
71 </tr>
72 </table></td>
73 </tr>
74 <tr>
75
76 <td colspan="2" style="text-align: center">
77 <asp:Button ID="Button1" runat="server" Text=" 找回密码 " /></td>
78 </tr>
79 </table> </td>
80 </tr>
81 </table>
82 </div>
83 </form>
84 </body>
85 </html>
后端源码:
1 using System;
2 using System.Data;
3 using System.Configuration;
4 using System.Collections;
5 using System.Web;
6 using System.Web.Security;
7 using System.Web.UI;
8 using System.Web.UI.WebControls;
9 using System.Web.UI.WebControls.WebParts;
10 using System.Web.UI.HtmlControls;
11
12
13
14 public partial class ClientServer_Default2 : System.Web.UI.Page
15 {
16 string lspass = "";
17
18 protected void Page_Load(object sender, EventArgs e)
19 {
20 if (!IsPostBack)
21 {
22 this.Button1.Attributes.Add("onclick", "javascript:return checkAll();");
23 }
24
25 }
26 protected void Button1_Click(object sender, EventArgs e)
27 {
28 HttpCookie myCookie_validcode = Request.Cookies["FWCX_CheckCode"];
29 if (myCookie_validcode.Value.ToString() != txt_validcode.Text)
30 {
31 Response.Write("<script>");
32 Response.Write("alert('验证码错误')");
33 Response.Write("</script>");
34 return;
35 }
36
37 //首先判断该登录名称和email是否存在
38 string sql = "select * from t_users where u_username='" + username.Text.Trim() + "' and u_email='" + email.Text.Trim() + "' and u_class='0' and u_valid='1'";
39 DataTable dt = new DataTable();
40 //dt = new SQLTool().dataTable(sql);
41
42 if (dt.Rows.Count < 1)
43 {
44 Response.Write("<script>alert('登录名称或Email地址错误!,请重新填写后再试。');</script>");
45
46 }
47 else
48 {
49 //首先给现在的数据库t_users附上一个临时密码
50 //Response.Write(CreateRandomCode(8));
51 lspass = CreateRandomCode(8);
52 sql = "update t_users set u_getpwd='" + lspass + "' where u_username='" + username.Text.Trim() + "' and u_email='" + email.Text.Trim() + "' and u_class='0' and u_valid='1'";
53 //if (new SQLTool().ExecuteSql(sql) >= 0)
54 //{
55 sendEmail(email.Text.Trim(), username.Text.Trim());
56 Response.Write("<script>alert('临时密码已经发送到您的注册Email中,请在下一页面中修改密码。');window.location.href='getpwdconfirm.aspx';</script>");
57 //}
58 }
59 }
60 public void sendEmail(string email, string name)
61 {
62 try
63 {
64 jmail.Message jmessage = new jmail.Message();
65 jmessage.Charset = "GB2312";
66 jmessage.From = "86085005@163.com";
67 // 发信地址
68 jmessage.MailServerUserName = "86085005";
69 //smtp认证用户名(注:如为网易用户,不加要@163.com,只要前面部分即可)
70 jmessage.MailServerPassWord = "kingseer";
71 // smtp论证用户名密码
72
73 jmessage.FromName = "108人力银行";
74 // 发信人
75 jmessage.ReplyTo = "86085005@163.com";
76 // 回复地址
77 jmessage.C;//邮件内容为html
78 jmessage.Subject = "108人力银行临时密码";
79
80 string strbody = "";
81 strbody += new functions().getInfoXX("t_pagetexts", "p_name", "找回密码邮件反馈-个人", "p_value").Replace("$", name).Replace("@%", lspass);
82 jmessage.HTMLBody = strbody;
83 // 邮件标题
84 jmessage.AddRecipient(email, "", "");
85 jmessage.Send("smtp.163.com", false);//发送邮件smtp.163.com
86 jmessage.Close();//关闭对象,释放资源
87
88
89 }
90 catch (Exception err)
91 {
92 Response.Write(err);
93 }
94 }
95 /// <summary>
96 /// 功能:产生数字和字符混合的随机字符串
97 /// </summary>
98 /// <param name="codecount">字符串的个数</param>
99 /// <returns></returns>
100 private string CreateRandomCode(int codecount)
101 {
102
103 // 数字和字符混合字符串
104 string allchar = "0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n";
105 //分割成数组
106 string[] allchararray = allchar.Split(',');
107 string randomcode = "";
108
109 //随机数实例
110 System.Random rand = new System.Random(unchecked((int)DateTime.Now.Ticks));
111 for (int i = 0; i < codecount; i++)
112 {
113 //获取一个随机数
114 int t = rand.Next(allchararray.Length);
115 //合成随机字符串
116 randomcode += allchararray[t];
117 }
118 return randomcode;
119 }
120
121 }
(转)asp.net实现忘记密码找回的代码的更多相关文章
- WordPress忘记密码找回登录密码的四种行之有效的方法
WordPress忘记密码找回登录密码的四种行之有效的方法 PS:20170214更新,感谢SuperDoge同学提供的方法,登入phpMyAdmin后,先从左边选自己的数据库,然后点上面的 SQL ...
- Mysql数据库忘记密码找回方法
Mysql数据库忘记密码找回 a 停止mysql服务 /etc/init.d/mysql stop b 使用--skip-grant-tables启动mysql,忽略授权登录验证 mysqld_saf ...
- 关于wordpress忘记密码 找回密码的方式
1.通过直接修改数据库中密码的加密字符(如果wordpress的版本不同,那么此方法是不好实现的) 2.使用找回密码的方式:通过邮箱找回密码 前端登录密码错误后 会显示 错误); 方法二 打开WP ...
- linux 7忘记密码找回
一.linux 7忘记密码二种更改方法 centos7/rhel7进入单用户方式和重置密码方式发生了较大变化,GRUB由b引导变成了ctrl+x引导.重置密码主要有rd.break和init两种方法. ...
- Oracle忘记密码找回
生活中,容易忘记Oracle数据库system用户的密码,怎么办呢,小生带你一步步重新登上Oracle ,及时你密码忘记了. 1.打开cmd窗口,输入 sqlplus / as sysdba 2.运行 ...
- Mysql忘记密码找回步骤
Mysql密码忘记找回步骤: 1.首先停止数据库 [root@localhost ~]# /etc/init.d/mysqld stop 2.使用--skip-grant-tables启动mysql, ...
- windows下MariaDB忘记密码找回
1.首先停止数据库 2.找到my.ini文件 3.右键以记事本打开在Mysqld下添加如下一行保存,然后启动数据库 4.登录数据库会提示输入密码,默认回车即可 5.退出数据库,删除我们上面在my.in ...
- centos mysql忘记密码找回(仅限mysql5.7)
1.停掉mysql 2.执行#mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 3.#mysql 4.updat ...
- Mysql 5.7 安装 解压缩版 忘记密码
[参考]Mysql 命令大全 [参考]MySQL 5.7.19 忘记密码 重置密码 配置文件my.ini示例 服务启动后停止 log配置 [参考]MySQL5.7.19 服务挂掉 自动关闭 mysql ...
随机推荐
- jS放大镜效果
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="demo4.aspx.cs& ...
- linux初识-01简介
什么是linux: Linux是一个自由的,免费的,源码开发的操作系统Linux的特点: 开放性.多用户,多任务,具有丰富的网络功能 可靠的系统安全 良好的可移植性 良好的用户界面(命令界面和图形界面 ...
- storm教程
二.安装部署 一.storm伪分布式安装 (一)环境准备1.OS:debian 72.JDK 7.0 (二)安装zookeeper1.下载zookeeper并解压 wget http://mirr ...
- seo初学
对前端而言,做网站采用扁平式结构:控制网页链接数量,不能太少,当然也不能太多:其次采用扁平的目录层次,不能超过3次:三:导航优化,最好是文字,如果是图片的话,alt和title必须添加. 面包屑导航: ...
- [算法]线段树(IntervalTree)
转载请注明出处:http://www.cnblogs.com/StartoverX/p/4617963.html 线段树是一颗二叉搜索树,线段树将一个区间划分成一些单元区间,每一个区间对应线段树的一个 ...
- acdream暴力专场中的优美暴力
F - 小晴天老师系列——苹果大丰收 Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Other ...
- 【学习笔记】【Foundation】字典
字典NSDictionary: 用于保存具有映射关系的数据:key-value: 创建NSDictionary的常用方法: dictionary: dictionaryWithContentsOfFi ...
- (摘自ItPub)物理standby中switchover时switchover pending的解决办法
http://www.itpub.net/thread-1782245-1-1.html DataGuard一主一物理备,sid为primary和standby,现在要把primary切换成备库,st ...
- 使用SQLiteDatabase进行数据库操作的步骤
1.获取SQLiteDatabase对象,它代表了与数据库的连接.2.调用SQLiteDatabase的方法来执行SQL语句.3.操作SQL语句的执行结果,比如用SimpleCursorAdapter ...
- linux开源论坛
开源资源: 开源http://oss.org.cn/?action-news http://www.lupaworld.com/proj.php http://www.10pig.cn/linux/o ...