zoukankan      html  css  js  c++  java
  • (转)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=" 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 }
    复制代码
  • 相关阅读:
    手工杀毒笔记
    中国黑客名单
    SQL Server 2005 数据库知识大全
    sql server和oracle行转列的一种典型方法
    <h1><span>标签在SEO中的作用及用法
    传说能加快vs编译速度(vs2008+cf3.5)
    WPF版调色器
    SQL经典案例
    Silverlight 2 相关文章汇总
    国内一些黑客高手的联系方式
  • 原文地址:https://www.cnblogs.com/wanshutao/p/4278353.html
Copyright © 2011-2022 走看看