让代码更简单

为你的网站添加用户注册邮箱验证[五]

重要:本文最后更新于2018-11-13 13:42:00,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

上一篇文章我们已经完成了用户的激活,这还没完,还差一步。

在注册后,不去激活,我们直接去登陆,我们发现,居然能登陆,那还激活个屁啊!

为了让用户注册后必须激活才能使用,我们需要对登陆的用户进行跳转。

wordpress里有个is_user_logged_in()这个函数用来判断用户是否已登录。同样的我们也构造一个is_user_status_in()函数用来判断用户是否已激活。

  1. 打开网站根目录下\wp-includes\pluggable.php文件增加如下代码:
    复制
    //激活返回1,未激活返回0
    if ( !function_exists('is_user_status_in') ) :
    function is_user_status_in() {
    global $current_user;
     get_currentuserinfo();
     $con=mysql_connect("localhost", "root", "800820");
    if (!$con) {
     die("数据库连接失败: " . mysql_error());
     }else{
     mysql_select_db("wp_users",$con);
     $sql="select * from wp_users where id='".$current_user->ID."'";
     $result=mysql_query($sql);
    while($row=mysql_fetch_array($result)){
     $sta=$row['status'];
    }
     return $sta;
     }
    }
    endif;
  2. 到网站后台,创建一个激活页面,页面代码这里就不写了。简单提示用户激活账号,没有收到邮件的,用一个输入框来接收用户的邮箱。
  3. 打开主题目录下的header.php文件,在<?开头位置加入如下代码:
    复制
    if (is_user_logged_in()) {           // 用户已登录
    if (is_user_status_in()==0) {        //未激活状态
    if(curPageURL()!="http://127.0.0.1/jh/"){      //判断是否是激活页面
    header("refresh:0;url=http://127.0.0.1/jh");    //跳转到的激活页面地址
    }}}

效果如图:

未激活账号

代码狗PHP教程

登录效果

代码狗PHP教程

激活后账户

代码狗PHP教程

激活后效果

代码狗PHP教程

 

文章到这里就算结束了,需要美化的就靠你们自己了,本人css确实很差,就不献丑了。

本系列教程为代码狗原创,禁止全文转载,转载请注明来源!http://daimadog.org

感觉很棒!可以赞赏支持我哟~

0 打赏

评论 (1)

登录后评论
方法很好感谢分享
QQ咨询 邮件咨询 狗哥推荐