您现在的位置是:首页 > cms教程 > DedeCMS教程DedeCMS教程
dedecms织梦用户注册后自动发送验证邮件的方法
侯善稚2023-11-19DedeCMS教程已有人查阅
导读新用户注册邮箱验证的功能,功能如此强大的dedecms有没有这一功能呢?回答肯定是有的,只是您不会用而已,现在看我的方法
新用户注册邮箱验证的功能,功能如此强大的dedecms有没有这一功能呢?回答肯定是有的,只是您不会用而已,现在看我的方法:1.修改/member/reg_new.php文件。
查找
3.把数据表贴出来。
4.修改/member/index_do.php这个文件。因为我的有程序整合和二次开发,所以代码和大家都不一样。就不贴全部,给个提示。不过判断是否验证部分代码是全的。
找到了,接着看我的代码,大家看着改,注意括号咯!
我的代码就是从这开始,一直到最底下有个
查找
$dsql->ExecuteNoneQuery($infosquery);
在下面插入
//写入邮件验证内容
$keyums = md5($userid.$email.”dedecmslove”); //这里的7就是有效期7天的时间。上面的dedecmslove就是给发送的URL加密用的KEY
$emldatetime = time()+7*24*3600;
$emailyz = “INSERT INTO `dede_sj_emailyz`(`userid`,`keyums`,`datetime`)
VALUES (‘{$userid}’,’{$keyums}’,’{$emldatetime}’); “;
$dsql->ExecuteNoneQuery($emailyz);
再找到
//———————————————-
//模拟登录
//—————————
在其上面插入:
//发送验证邮件
if($cfg_md_mailtest==’Y’)
{
$msg =”<html><head></head><body>”;
$msg .= “<b><font color=’#ff0000′>”.$uname.”</font></b> 恭喜您注册成为XXXXX的会员了!<br>”;
$msg .= “您的登陆帐号:<b>”.$userid.”</b><br><br>”;//这里,做了个小判断,如果是企业用户注册,则给多送条信息去。
if($mtype==’企业’){
$msg .= “活动公告:<b><font color=’#ff0000′>马上完善您的企业信息,免费开通3个月体验会员,享受更多无限制服务体验!</font></b><br>”;
}
$msg .= “注意!该验证有效期为1周,请尽快进行您的帐户验证。<br>”;
$msg .= “还有一步您就成功了,请点击下面的链接进行之后一步验证。(如果无法点击链接,请将下面红色部分的链接地址全部复制,然后粘贴到浏览器地址中打开!)<br><br>”;
$msg .= “<a href=’http://www.ebingou.cn/member/reg_email.php?g=ok&userid=”.$userid.”&u=”.$keyums.”‘ target=_blank><font color=’#FF0000′>http://www.ebingou.cn/member/reg_email.php?g=ok&userid=“.$userid.”&u=”.$keyums.”</font></a><br><br>”;
$msg .= “请点击打开上面的连接地址或复制到浏览器地址中打开。如需帮助,请联系XXXXX管理员!<br><br><br>”;
$msg .= “<span style=’font-size:12px; color:#CCCCCC’>这是一封由XXXXX网站系统自动发送的邮件,请不要回复邮件!</span><br>”;
$msg .= “<a href=http://www.ebingou.cn/>XXXXXX</a> <span style=’font-size:12px; color:#CCCCCC’>–XXXXXXXXX的门户网站。</span><br>”;
$msg .= “</body></html>”;
$mailbody = ”;
//下面这个是邮件标题,上面的是邮件正文部分。
$mailtitle = “XXXXXXXX会员注册验证邮件”;
$mailbody .= “$msg \r\n\r\n”;
$headers = “From: “.$cfg_adminemail.”\r\nReply-To: “.$cfg_adminemail;
if($cfg_sendmail_bysmtp == ‘Y’ && !empty($cfg_smtp_server))
{ //下面这里选择HTML网页方式发送,如果邮箱不支持HTML,就改为TXT,不过现在好像都支持HTML了吧。
$mailtype = ‘HTML’;
require_once(DEDEINC.’/mail.class.php’);
$smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);
$smtp->debug = false;
$smtp->sendmail($email, $cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
}
else
{
@mail($email, $mailtitle, $mailbody, $headers);
}
ShowMsg(“恭喜您注册成为XXXXXXXXXX的会员了,现在需要对您的电子邮件( “.$email.” )进行验证(有效期1周),请登陆您的邮箱查收!如果无法查收到邮件,请马上联系管理员!”,”index.php”,0,20000);
exit();
}
之后修改如下代码:
//———————————————-
//模拟登录
//—————————
//$ml = new MemberLogin(7*3600);
//$rs = $ml->CheckUser($userid,$userpwd);
//ShowMsg(“注册成功,3秒钟后转向系统主页…”,”index.php”,0,2000);
//exit();
2.写个邮件验证的文件吧。代码全贴出来了。 保存为 member文件夹下面 reg_email.php文件3.把数据表贴出来。
Table “dede_sj_emailyz” DDLCREATE TABLE `dede_sj_emailyz` (
`id` mediumint(8) unsigned NOT NULL auto_increment,
`userid` char(20) character set gbk NOT NULL,
`keyums` varchar(100) NOT NULL,
`datetime` int(10) unsigned NOT NULL default ’0′,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=358 DEFAULT CHARSET=latin1;
之后大家需要在登陆的地方判断下,免得验证白费了。4.修改/member/index_do.php这个文件。因为我的有程序整合和二次开发,所以代码和大家都不一样。就不贴全部,给个提示。不过判断是否验证部分代码是全的。
if($rs == 0)
{
ShowMsg(“用户名不存在!”,”-1″,0,2000);
exit();
}
else if($rs == -1) {
ShowMsg(“密码错误!”,”-1″,0,2000);
exit();
}
大家先找到这部分代码,看到了没有啊?嘿嘿,没看到我就没办法了。找到了,接着看我的代码,大家看着改,注意括号咯!
我的代码就是从这开始,一直到最底下有个
//退出登录
else if($dopost==”exit”)
这部分结束的。
if($rs == 0)
{
ShowMsg(“用户名不存在!”,”-1″,0,2000);
exit();
}
else if($rs == -1) {
ShowMsg(“密码错误!”,”-1″,0,2000);
exit();
}
else if($rs == -2) {
ShowMsg(“管理员帐号不允许从前台登录!”,”-1″,0,2000);
exit();
}
else
{
//验证邮件
$rowemail = $dsql->GetOne(“SELECT `rank` FROM dede_member WHERE userid=’$userid’ “);
if($rowemail['rank']==’0′) {
$ucsynlogin = uc_user_synlogout();
$cfg_ml->ExitCookie();
ShowMsg(“您还未通过邮件验证,无法登陆!”,”-1″,0,2000);
exit();
}
if(empty($gourl) || eregi(“action|_do”,$gourl))
{
ShowMsg(“成功登录,5秒钟后转向系统主页…”,”index.php”,0,2000);
}
else
{
ShowMsg(“成功登录,现在转向指定页面…”,$gourl,0,2000);
}
exit();
}
} //退出登录
else if($dopost==”exit”)
OK,完成了。这里就不在演示了。注意里面的双引号,应该是半角的,复制完以后注意修改里面的全角双引号为半角双引号。
本文标签:
很赞哦! ()
相关教程
图文教程
适合企业站的织梦标签大全归类整理
对于企业站而言其实不用了解那么多标签,在这里分享下自己总结的适合企业站的标签大全,希望大家收藏,以备不时之需。织梦标签范围很广泛
dede织梦发布文章取消自动生成关键字的方法
一、系统设置 5.7后台 系统—系统基本参数—其他选项 自动提取关键字功能关闭。
织梦dedecms发布文章Tag标签逗号自动变成英文标点的实现方法
织梦DedeCms是一款非常好用的建站程序,从织梦DedeCms5.3版本开始,把TAG标签的间隔号由空格改为英文的逗号,这样使得经常原创文章的站长朋友非常不方便,因为我们是我国人
织梦系统常见问题解答汇总
安装升级我第一次接触Dede8.com">dedecms8.com">CMS,请问我想使用这个系统需要那些条件?是基于+MySQL进行开发的,首先需要确保
相关源码
-
(PC+WAP)房屋建造建筑工程房地产建材行pbootcms网站模板下载本模板基于PbootCMS内核开发,为房屋建造、建筑工程及房地产建材类企业设计。通过本模板可快速搭建具有行业特色的企业官网,只需替换文字与图片内容即可适配其他行业使用。查看源码 -
(自适应)黑色摄影作品工作室pbootcms模板网站源码下载为风景摄影、个人工作室打造的高端网站模板,基于PbootCMS开源内核开发,采用HTML5自适应架构,PC与移动端实时数据同步,适配各类拍摄作品展示需求。查看源码 -
(PC+WAP)楼承板建筑工程合金钢铁材料pbootcms网站源码下载为楼承板生产商及建筑工程企业设计的响应式网站模板,采用PbootCMS内核开发,同步适配电脑与移动设备浏览。通过模块化结构展示工程案例、产品参数等专业内容,帮助建筑建材企业建立标准化数字展示平台,提升行业专业形象。查看源码 -
自适应新闻资讯技术博客个人网站pbootcms模板该模板基于PbootCMS开源内核深度开发,该模板适用于游戏新闻网站、游戏博客等企业或个人网站,新闻资讯技术博客pbootcms模板;采用六级分辨率断点适配技术查看源码 -
(自适应响应式)刷卡机POS机无线支付设备pbootcms网站源码下载本模板基于PbootCMS系统开发,为支付终端设备企业设计,特别适合POS机、移动支付终端、刷卡设备等金融科技产品展示。采用响应式布局技术,确保各类支付终端产品在不同设备查看源码 -
(自适应手机端)seo博客网站模板新闻资讯网站源码下载本模板为SEO博客及新闻资讯类平台深度定制,采用PbootCMS内核开发。通过模块化设计实现多行业快速适配,仅需替换图文内容即可转型为医疗、教育、科技等领域网站。响应式布局确保在手机、平板等设备上获得一致浏览体验。查看源码
| 分享笔记 (共有 篇笔记) |
