注册页实现激活邮箱验证(asp.net c#)

-----------注册页前台


代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Registe.aspx.cs" Inherits="CSDN博客.Registe" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.zhuyi
{
color:Red;
font-size:small;
}
#pwd-strong {
float: left;
margin: 0px;
padding: 0px;
list-style: none;
background-image: url(images/pwdstrong.gif);
background-repeat: no-repeat;
}
#pwd-strong li {
float: left;
padding: 0px;
color: #ccc;
font-size: 11px;
width: 64px;
height: 10px;
text-align: center;
padding-top: 9px;
}
.pwds3 {
background-position: -20px -70px;
}
.pwds2 {
background-position: -20px -44px;
}
.pwds1 {
background-position: -20px -18px;
}
#pwd-strong li.currs {
color: #000;
}
/*头部css样式*/
#head
{
margin:0;
}
#head a:hover
{
color:Red;
}
.ahead
{
color:black;
font-size:small;
text-decoration:none;
}
#lefthead
{
float:left;
margin:0;
}
#righthead
{
float:right;
margin:0;
}
/*头部css样式结束*/
/*信息部分开始*/
#body
{
/*
border: 1px solid black;
*/
position:absolute;
width:900px;
height:700px;
left:230px;
top:50px;
}
#picture
{
float:left;
}
#xinxi
{
border:1px solid pink;
width:850px;
height:440px;
position:absolute;
left:20px;
top:50px
}
#biaoti
{
position:absolute;
left:1px;
top:10px;
}
#xian
{
position:absolute;
left:20px;
top:50px;
}
#table
{
position:absolute;
/*
border:1px solid black;
*/
left:50px;
top:90px;
}
/*信息部分结束*/
/*底部开始*/
#footer
{
/*
border:1px solid black;
*/
position:absolute;
left:430px;
top:560px;
}
.buttom
{
margin:0px;
font-size:small;
}
.abuttom
{
text-decoration:none;
color:Black;
}
#footer a:hover
{
color:Blue;
}
img
{
border:0px;
}
/*底部结束*/
</style>
<script src="emailvalidatorjs.js" type="text/javascript"></script>
<script src="jquery-1.9.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$('#txtPassword').keyup(function () {
var score = testpass($(this).val());
if (score < 34) {
$('#pwd-strong').css('display', 'block');
$('#pwd-strong').addClass('pwds1');
$('li:first').addClass('currs');
}
else if (score >= 34 && score < 68) {
$('#pwd-strong').css('display', 'block');
$('#pwd-strong').removeClass();
$('#pwd-strong').addClass('pwds2');
$('li:eq(1)').addClass('currs');
}
else {
$('#pwd-strong').css('display', 'block');
$('#pwd-strong').removeClass();
$('#pwd-strong').addClass('pwds3');
$('li:last').addClass('currs');
}
})
})
</script>
</head>
<body>
<form id="form1" runat="server">
<!--内容-->
<div>
<!--头部-->
<div id="head">
<!--头部左-->
<div id="lefthead">
<a href="http://www.csdn.net/" class="ahead">首页</a>
<a href="http://news.csdn.net/" class="ahead">业界</a>
<a href="http://mobile.csdn.net/" class="ahead">移动</a>
<a href="http://cloud.csdn.net/" class="ahead">云计算</a>
<a href="http://sd.csdn.net/" class="ahead">研发</a>
<a href="http://bbs.csdn.net/" class="ahead">论坛</a>
<a href="http://blog.csdn.net/" class="ahead">博客</a>
<a href="http://download.csdn.net/" class="ahead">下载</a>
<a class="ahead">更多</a>
</div>
<!--头部右-->
<div id="righthead">
<span class="zhuyi">你还未登陆!</span>|&nbsp
<a href="http://www.csdn.net/" class="ahead">登陆</a>&nbsp&nbsp|&nbsp
<a href="http://www.csdn.net/" class="ahead">注册</a>&nbsp&nbsp|&nbsp
<a href="https://passport.csdn.net/help/faq" class="ahead">帮助</a>
</div>
</div>
<!--头部结束-->
<!--身体-->
<div id="body" >
<!--图片-->
<div id="picture">
<img src="images/zhuce.gif" />
</div>
<!--信息-->
<div id="xinxi">
<div id="biaoti">
<img src="images/zhuce1.gif"/>
</div>
<div id="xian">
<img src="images/zhuce2.png" />
</div>
<div id="table">
<table>
<!--用户名-->
<tr>
<td><span class="zhuyi">*</span>用户名:</td>
<td>
<asp:TextBox ID="txtName" runat="server" ControlToValidate="TextBox1"></asp:TextBox></td>
<td >
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ErrorMessage="用户名不能为空" ControlToValidate="txtName" Display="Dynamic"
Font-Size="15px" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr><td></td><td colspan="2">
<label style="color:#c0c0c0;font-size:small;">(字母、数字或下划线组合。)</label></td></tr>
<!--密码-->
<tr>
<td><span class="zhuyi">*</span>密码:</td>
<td>
<asp:TextBox ID="txtPassword" runat="server"></asp:TextBox></td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ControlToValidate="txtPassword" Display="Dynamic" ErrorMessage="不能为空"
Font-Size="15px" ForeColor="Red"></asp:RequiredFieldValidator>
<div><ul id="pwd-strong" style="display: none;"><li>弱</li><li>中</li><li>强</li></ul></div></td>
</tr>
<tr><td></td><td colspan="2">
<label style="color:#c0c0c0;font-size:small;">(为了您的帐户安全,强烈建议您的密码使用字符+数字等多种不同类型的组合,并且密码长度大于5位。)</label></td></tr>
<!--再次输入密码-->
<tr>
<td><span class="zhuyi">*</span>再次输入密码:</td>
<td>
<asp:TextBox ID="txtPasswordAgain" runat="server"></asp:TextBox></td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"
ControlToValidate="txtPassword" Display="Dynamic" ErrorMessage="不能为空"
ForeColor="Red" Font-Size="15px"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CompareValidator1" runat="server"
ErrorMessage="两次输入的密码不一致" ControlToCompare="txtPassword"
ControlToValidate="txtPasswordAgain" Display="Dynamic" ForeColor="Red"
Font-Size="15px"></asp:CompareValidator></td>
</tr>
<tr><td></td><td colspan="2">
<label style="color:#c0c0c0;font-size:small;">(请确保密码正确)</label></td></tr>
<!--E-mail-->
<tr>
<td><span class="zhuyi">*</span>E-mail</td>
<td>
<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox></td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server"
ControlToValidate="txtEmail" Display="Dynamic" ErrorMessage="不能为空"
ForeColor="Red" Font-Size="15px"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="txtEmail" Display="Dynamic" ErrorMessage="邮箱格式不正确"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
ForeColor="Red" Font-Size="15px"></asp:RegularExpressionValidator>
</td>
</tr>
<tr><td></td><td colspan="2">
<label style="color:#c0c0c0;font-size:small;">(请填写您常用的邮箱)</label></td></tr>
<!--验证码-->
<tr>
<td><span class="zhuyi">*</span>校验码:</td>
<td>
<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox></td>
<td>
<img src="checkCode.aspx" onclick="this.src='checkCode.aspx?aaa='+new Date()" alt="" />图片看不清?点击重新得到验证码
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server"
ControlToValidate="TextBox5" Display="Dynamic" ErrorMessage="不能为空"></asp:RequiredFieldValidator>
</td>
</tr>
<tr><td></td><td colspan="2">
<span class="zhuyi">(如您连续输入不对验证码,请检查您的浏览器是否禁用了Cookie。<a href="http://passport.csdn.net/help/faq">如何启用Cookie?</a>)</span></td></tr>
<tr>
<!--条款-->
<td><span class="zhuyi">*</span>注册条款:</td>
<td colspan="2">
<asp:CheckBox ID="CheckBox1" runat="server"
oncheckedchanged="CheckBox1_CheckedChanged" Text="我已仔细阅读并接受" /><a href="http://passport.csdn.net/help/terms">CSDN注册条款</a>。</td>
</tr>
<!--注册提交-->
<tr><td></td><td></td></tr>
<tr><td></td><td></td></tr>
<tr>
<td></td>
<td colspan="2">
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl="~/images/zhuce.jpg" onclick="ImageButton1_Click" />
<asp:Label ID="lbinfo" runat="server" ForeColor="Red"></asp:Label>
</td>
</tr>
</table>
<div>
</div>
</div>
</div>
</div>
<!--身体结束-->
<!--底部-->
<div id="footer" align="center">
<div class="buttom">
<a href="http://www.csdn.net/company/about.html" class="abuttom">公司简介</a>|
<a href="http://www.csdn.net/company/recruit.html" class="abuttom" >招贤纳士</a>|
<a href="http://www.csdn.net/company/marketing.html" class="abuttom">广告服务</a>|
<a href="http://www.csdn.net/company/account.html" class="abuttom">银行汇款账号</a>|
<a href="http://www.csdn.net/company/contact.html" class="abuttom">联系方式</a>|
<a href="http://www.csdn.net/company/statement.html" class="abuttom">版权声明</a>|
<a href="http://www.csdn.net/company/layer.html" class="abuttom">法律顾问</a>|
<a href="" class="abuttom">问题报告</a>
</div>
<p class="buttom">京&nbsp&nbspICP&nbsp&nbsp证&nbsp&nbsp070598&nbsp&nbsp号</p>
<p class="buttom">北京创新乐知信息技术有限公司&nbsp&nbsp版权所有</p>
<p class="buttom"><img src="images/zhuce4.gif" />联系邮箱:webmaster(at)csdn.net</p>
<p class="buttom">Copyright&nbsp©&nbsp1999-2012,&nbspCSDN.NET,&nbspAll&nbspRights&nbspReserved</p>
<div>
<a href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010" class="abuttom"><img src="images/denglu2.gif"/></a>
<a href="https://trustsealinfo.verisign.com/splash?form_file=fdf/splash.fdf&dn=passport.csdn.net&lang=zh_cn" class="abuttom"><img src="images/denglu1.gif"/></a>
</div>

------注册页后台


代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Net.Mail;
using System.Net;
using System.Data.SqlClient;
namespace CSDN博客
{
public partial class Registe : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
}
public void sendMail(string email, string activeCode)
{
MailMessage mailMsg = new MailMessage();
mailMsg.From = new MailAddress("15031259715@163.com");
mailMsg.To.Add(email);
mailMsg.Subject = "请激活注册";
int number = number1();
StringBuilder contentBuilder = new StringBuilder();
contentBuilder.Append("请单击以下链接完成激活");
contentBuilder.Append("<a href='http://localhost:15464/cheng.aspx?activecode=" + activeCode + "&id=" + number + "'>激活</a>");
mailMsg.Body = contentBuilder.ToString();//拼接字符串
mailMsg.IsBodyHtml = true;
SmtpClient client = new SmtpClient();
//发件方服务器地址
client.Host = "smtp.163.com";
client.Port = 25;
//mailMsg.IsBodyHtml = true;
NetworkCredential credetial = new NetworkCredential();
credetial.UserName = "15031259715";
credetial.Password = "wangjing911214++";
client.Credentials = credetial;
client.Send(mailMsg);
}
public int number1()
{
CSDN博客.BLL.T_User count = new BLL.T_User();
int a = count.GetRecordCount("");
return a;
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
CSDN博客.Model.T_User muser = new Model.T_User();
muser.Name = txtName.Text;
muser.Password = txtPassword.Text;
muser.E_Mail = txtEmail.Text;
string activecode=Guid.NewGuid().ToString().Substring(0, 8);
muser.ActiveCode = activecode;//生成激活码
CSDN博客.BLL.T_User buser = new BLL.T_User();
if (buser.Add(muser) > 0)
{
sendMail(txtEmail.Text, activecode);//给注册用户发邮件
lbinfo.Text = "保存成功";
}
else { lbinfo.Text = "保存失败"; }
}
}
}
</div>
<!--底部结束-->
</div>
</form>
</body>
</html>

------------激活验证


代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
namespace CSDN博客
{
public partial class cheng : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//取出参数id
int id = Convert.ToInt32(Request["id"]);
string activeCode = Request["activecode"].ToString();
//2判断id为id的记录是否存在
//连接数据库
string conStr = "data source=LOVE-PC\\SQLEXPRESSPC;initial catalog=Blogs;user id=sa;password=admin";
int number;
using (SqlConnection con = new SqlConnection(conStr))
{
string sql = "select count(*) from T_User where Id=@id";
using (SqlCommand cmd = new SqlCommand(sql, con))
{
con.Open();
cmd.Parameters.AddWithValue("@id", id);
number = Convert.ToInt32(cmd.ExecuteScalar());
}
}
if (number > 0)
{
//如果该用户存在取出ActiveCode字段进行比较。如果一样,把Active字段修改为true
//连接数据库
string AC;
using (SqlConnection con = new SqlConnection(conStr))
{
string sql = "select ActiveCode from T_User where Id=@id";
using (SqlCommand cmd = new SqlCommand(sql, con))
{
con.Open();
cmd.Parameters.AddWithValue("@id", id);
AC = cmd.ExecuteScalar().ToString(); ;
}
}
if (activeCode == AC)
{
Response.Write("激活成功!<a href='denglu.aspx'>返回登录</a>");
using (SqlConnection con = new SqlConnection(conStr))
{
string sql = "update T_User set Active=1 where Id=@id";
using (SqlCommand cmd = new SqlCommand(sql, con))
{
con.Open();
cmd.Parameters.AddWithValue("@id", id);
number = Convert.ToInt32(cmd.ExecuteScalar());
}
}
}
else
{
Response.Write("用户已存在,但是激活码错误!");
}
}
else
{
Response.Write("用户不存在,还没注册成功!");
}
}
}
}

实现如下效果:

(0)

相关推荐

  • Asp.net Mvc 身份验证、异常处理、权限验证(拦截器)实现代码

    1.用户登录 验证用户是否登录成功步骤直接忽略,用户登录成功后怎么保存当前用户登录信息(session,cookie),本文介绍的是身份验证(其实就是基于cookie)的,下面看看代码. 引入命名空间 using System.Web.Security; 复制代码 代码如下: Users ModelUser = new Users() { ID = 10000, Name = UserName, UserName = UserName, PassWord = PassWord, Roles =

  • asp.net 验证码生成和刷新及验证

    验证码技术是为了防止暴力破解等而设定的.现在一般的网站注册等都提供验证码功能,特别是腾讯更是长长的一串.文中参考了别人的代码.有了就没有必要再写了.可以读一下.不过我测试时发现了两次PageLoad的问题.注释了两句即可.同时修改了namespaces.同时提供完整的验证说明:1 新建VerifyCode.aspx cs文件代码如下: 复制代码 代码如下: using System; using System.Collections; using System.ComponentModel; u

  • jQuery 验证插件 Web前端设计模式(asp.net)

    设计目标:建立一个基于jQuery框架的通用Web验证插件... 设计要求:1.需要漂亮的css样式及小图标的润饰... 2.基于jQuery框架... 3.调用.net Web 服务来实现与数据库的异步交互... 解决方案:1.首先,我们来设计三个类,分别用来显示Web给用户的视觉感知.它们分别是 .msg_warning{font-family:Arial,Helvetica,sans-serif,simsun; background:#e7f7ff url(register/MsgWarn

  • Asp.net(C#)实现验证码功能代码

    新建一个专门用来创建验证码图片的页面ValidateCode.aspx 它的后台cs文件代码如下: PageLoad 复制代码 代码如下: private void Page_Load(object sender, System.EventArgs e) { string checkCode = CreateRandomCode(4); Session["CheckCode"] = checkCode; CreateImage(checkCode); } 其中CreateRandomC

  • asp.net 简单验证码验证实现代码

    首先是新建一个验证码页面 ValidateCode.aspx 定义变量 这样有利于后期的修改了 复制代码 代码如下: private int codeLen = 4;//验证码长度 private int fineness = 85;//图片清晰度 private int imgWidth = 48;//图片宽度 private int imgHeight = 24;//图片高度 private string fontFamily = "Times New Roman";//字体名称

  • ASP.net 验证码实现代码(C#)

    public class ValidateCode : System.Web.UI.Page {   private void Page_Load(object sender, System.EventArgs e)   {    this.CreateCheckCodeImage(GenerateCheckCode());   }   #region Web 窗体设计器生成的代码   override protected void OnInit(EventArgs e)   {    //  

  • asp.net身份验证方式介绍

    windows身份验证: IIS根据应用程序的设置执行身份验证.要使用这种验证方式,在IIS中必须禁用匿名访问. Forms验证:用Cookie来保存用户凭证,并将 未经身份验证的用户重定向到自定义的登录页. Passport验证:通过Microsoft的集中身份验证服务执行的,他为成员站点提供单独登录 和核心配置文件服务. 一. 配置windows身份验证 1)配置IIS设置 of Dern)" alt="asp.net身份验证方式(ref:DreamSpace of Dern)&q

  • .net MVC中使用forms验证详解

    .net MVC中使用forms验证,供大家参考,具体内容如下 文件夹的分部是这样子的 首先在Web.config中设置 authentication和authorization 节点 <system.web> <authentication mode="Forms"> <forms loginUrl="~/Login/Index" timeout="2880" defaultUrl="~/Home/Ind

  • asp.net(C#) 生成随机验证码的代码

    常用的生成验证码程序 ,图片效果如下:    源程序如下: 复制代码 代码如下: using System;  using System.IO;  using System.Drawing;  using System.Drawing.Imaging;  using System.Text;  using System.Collections;  using System.Web;  using System.Web.UI;  using System.Web.UI.WebControls; 

  • ASP.NET表单验证方法详解第1/2页

    1.使用验证控件 这属于客户端验证,微软开发人员将最常用的验证功能进行了封装,使得我们开发效率明显提高,而且特别是自定义验证控件,非常灵活,我们可以自行设计验证逻辑.但是验证控件收到了浏览器的限制,记得在一次开发过程中,使用FireFox浏览器进行浏览,发现所有的验证控件失灵,这个并非是ASP.NET设计的漏洞,只能说浏览器标准的不唯一造成的. ASP.NET公有六种验证控件,分别如下: RequiredFieldValidator(必须字段验证) 用于检查是否有输入值 CompareValid

随机推荐