Chinaunix

标题: 如何用php编写email激活的验证代码然后服务器发送密码! [打印本页]

作者: xyfxh    时间: 2007-06-30 23:32
标题: 如何用php编写email激活的验证代码然后服务器发送密码!
如何用php编写email激活的验证代码!

就是象一些网站你注册后给你法一个激活账号的email,然后你到邮箱点击这个连结服务器会给你发送密码过来!这个过程如何配合数据库实现!谢谢!
作者: HonestQiao    时间: 2007-07-01 09:11
最简单的:
注册,根据用户名和密码,注册时间什么的,生成一个鉴别标识。
简单的:md5($username.$password.$regtime)
然后记录到数据库。

你把这个做为网址参数发送到电子邮箱,接下来你应该知道怎么做吧。
作者: xyfxh    时间: 2007-07-01 10:51
还是不太明白,一般是发两封邮件,第一封要求激活,点击第一封邮件的链接后第二封邮件才会发送密码!能给个简单的提示代码吗?谢谢
作者: HonestQiao    时间: 2007-07-01 13:05
你去数据库检查,看看链接里面的那个唯一标识是否存在,存在那当然是经过服务器发送的。
如果存在,你在清空这个标志,发送密码啊
作者: xyfxh    时间: 2007-07-01 16:43
代码如何实现啊!
作者: HonestQiao    时间: 2007-07-01 22:16
原帖由 xyfxh 于 2007-7-1 16:43 发表
代码如何实现啊!




我想,你如果愿意的话,外包来做,想必大家也是没有意见的。
作者: kls    时间: 2007-07-02 16:00
这个有点类似注册;就是形式不同;
1 当点url时,会有个get请求;
2 服务器接收请求,做数据检证;对应的字段,给它设一个标记(是否已激活),当然也可自己设计;
3 请求完成
作者: 小胡他爹    时间: 2007-07-02 18:05
标题: N年前废用的代码.喜欢就拿去吧

  1. <?php
  2.         //session_start();
  3.         require_once('db.ini.php');
  4.         @$chkid        =trim($_GET['chkid']);
  5.         //echo $upwd;
  6.         //echo PHP_OS;
  7.         /*check username*/
  8.                
  9.         if(isset($chkid)&&eregi('^[a-z0-9]{32}',$chkid)){

  10.                 $str_sql="select uid,uname,chkid,uptime,flg from ep_user where chkid='$chkid'";
  11.                         $result =mysql_query($str_sql);
  12.                         $num_rows=mysql_num_rows($result);
  13.                         $array_rs=mysql_fetch_array($result);

  14.                 if($num_rows==1){

  15.                                         $_SESSION['uid']        =$array_rs['uid'];
  16.                                         $_SESSION['uname']        =$array_rs['uname'];
  17.                                         $_SESSION['uptime']        =$array_rs['uptime'];
  18.                                         $_SESSION['flg_login']=$array_rs['flg']; //0为未激活 ;1为已激活;


  19.                                         if($array_rs['flg']==0) {
  20.                                                         mysql_query("update ep_user set uptime = now(),flg=1 where chkid ='$chkid'");

  21.                                                         $_SESSION['flg_login']=1;

  22.                                                         echo "<img src=\"./img/ajax_icon3.gif\">  感谢您完成最后一步的注册,您成功激活了所属用户。<BR>>> <a href=./index.php>现在登录[EasyPHP.CN]您已经可以与他人共同分享精彩</a>.";
  23.                                         }elseif ($array_rs['flg']==1) {
  24.                                                         echo "<img src=\"./img/ajax_icon3.gif\">  您已经成功激活了所属用户,无需再次激活。<BR>>> <a href=./index.php>现在登录[EasyPHP.CN]您已经可以与他人共同分享精彩</a>.";
  25.                                         }
  26.                                        
  27.                                 }else{
  28.                                         echo ("<img src=\"./img/ajax_icon1.gif\">  错误的激活码,无法激活所属用户!<BR>");
  29.                         }

  30.         }


  31. ?>
复制代码

作者: cooljia    时间: 2007-07-03 14:54
原帖由 HonestQiao 于 2007-7-1 09:11 发表
最简单的:
注册,根据用户名和密码,注册时间什么的,生成一个鉴别标识。
简单的:md5($username.$password.$regtime)
然后记录到数据库。

你把这个做为网址参数发送到电子邮箱,接下来你应该知道怎么做吧。



之前一段时间做了一个实现, 和乔版所说一模一样, 汗```

To: 楼主, 乔版已经告诉你怎么做了, 请自己去实现.

[ 本帖最后由 cooljia 于 2007-7-3 14:55 编辑 ]
作者: xyfxh    时间: 2007-07-03 17:45
谢谢!
作者: xyfxh    时间: 2007-07-03 17:53
标题: 回复 8楼 小胡他爹 的帖子
这好像是发出后点击把0改为1吧,可是如何发出一条含有url地址的邮件呢!谢谢!我还是有些糊涂
作者: HonestQiao    时间: 2007-07-04 08:57
原帖由 xyfxh 于 2007-7-3 17:53 发表
这好像是发出后点击把0改为1吧,可是如何发出一条含有url地址的邮件呢!谢谢!我还是有些糊涂




那就发文本邮件,让别人复制拷贝粘贴回车。
作者: cooljia    时间: 2007-07-04 09:17
原帖由 xyfxh 于 2007-7-3 17:53 发表
这好像是发出后点击把0改为1吧,可是如何发出一条含有url地址的邮件呢!谢谢!我还是有些糊涂


发送text/html格式的信件, 就有链接了
作者: usen68    时间: 2008-01-06 01:04
学习一下N年前已经废掉的

呵呵,新手来学东西来了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2