为了吸引更多的用户注册我们给iwebshop添加邀请用户功能-邮箱邀请

效果展示:

1、邮箱发送


2、点击链接注册



注册成功之后邀请人积分增加100


代码实现:

1、首先我们在user表中添加invite字段


2、在views/default/layouts/ucenter.html中添加

<div class="box"><div class="title"><h2 class='bg5'>好友邀请</h2></div><div class="cont"><ul class="list"><li><a href="{url:/ucenter/invite}">邮箱邀请</a></li><li><a href="{url:/ucenter/inviteList}">邀请记录</a></li></ul></div>
</div>
3、在views/default/ucenter下建立invite.html
{js:jquery}
<div class="main f_r"><div class="uc_title m_10"><label class="current"><span>好友邀请</span></label></div><div class="form_content"><div class="uc_title2 m_10"><span class="f_r">带<b class="red">*</b>号的项目为必填项</span><strong>邮箱邀请</strong></div><!--<form action='{url:/ucenter/invitePro}' method='post' name="email">-->
            <table class="form_table" cellpadding="0" cellspacing="0"><col width="200px" /><col /><tr><th><span class="red">*</span>好友邮箱:</th><td><input type='text' class="normal" name="email"  alt='请输入好友邮箱' id="mail" /><label>邮件发送</label></td></tr><tr><th></th><td><label class="btn"><input type="butten" value="确认发送" id="sub"/></label><label class="btn"><input type="reset" value="取消" /></label></td></tr></table><!--</form>-->
    </div>
</div>
<script type='text/javascript'>$(function(){$("#sub").click(function(){var ajaxUrl = '{url:/ucenter/invitePro}';var email=$("#mail").val();$.getJSON(ajaxUrl,{'email':email},function(msg){//console.log(msg);
                alert(msg.message);})})})
</script>
4、在ucenter.php建立邮箱发送控制器

/**
 * 好友邀请邮箱注册提交
 */
public function invitePro(){
    $email = IReq::get('email');
    $user_id=$this->user['user_id'];
    //发送邮件
    $smtp = new SendMail();
    if($error = $smtp->getError())
    {
        $result = array('isError'=>true,'message' => $error);
    }
    else {
        $title = '好友邀请';
        $content = '大人:小二等您好苦,您的好友邀请您注册账号    点击链接:'."http://127.0.0.1/iwebshop/index.php?controller=simple&action=reg&id=".urlencode(base64_encode($user_id));
        if ($smtp->send($email, $title, $content)) {
            $result = array('isError' => false, 'message' => '发送成功!');
        } else {
            $result = array('isError' => true, 'message' => '发送失败,请确认您填写邮箱是否正确');
        }
    }
    echo JSON::encode($result);
}
5、在simple.php中建立reg()方法 //注册控制器
/**
 * 好友邀请
 */
function reg(){
    //接到邀请人id
    $id=IReq::get('id')?IReq::get('id'):"";
    if($id!="") {
        $uid = urldecode(base64_decode($id));
        $userObj = new IModel('user');
        $userlist =$userObj->getObj('id='.$uid,'username');
        $uname=$userlist['username'];
        $this->uname = $uname;
        $this->uid=$uid;
    }
    $this->redirect('reg');
}
6、修改注册页面views/default/simple/reg.html
{if:$this->uname}
<tr><th>邀请人:</th><td>{$this->uname}<input type="hidden" name="uid" value="{$this->uid}"></td><label>邀请人用户名</label></td></tr>
{/if}
7、修改提交注册控制器simple.php reg_act() 方法//添加值
$invite     = IFilter::act(IReq::get('uid','post'));
入库字段添加

//user表
$userArray = array(
   'username' => $username,
   'password' => md5($password),
   'email'    => $email,
   'invite'   => $invite,
 'address'    => $address,
);//增加积分
//积分增加
$pointConfig = array(
    'user_id' => $invite,
    'point'   => 100,
    'log'     => '邀请用户成功 +100积分',
 );
$pointObj = new Point;
$pointObj->update($pointConfig);
这时我们就实现了邀请注册成功增加积分!!!!

邀请记录展示:

在views/default/ucenter/下建立 inviteList.html**{query}{/query}标签的使用让我们不用建立控制器**
<div class="main f_r"><div class="uc_title m_10"><label class="current"><span>邀请记录</span></label></div><div class="box m_10">{set:$user_id = $this->user['user_id']}<p class="text">您当前的邀请人数为:{query:name=user where=invite eq $user_id}{/query}<b class="brown">{set:$count=count($items)}{$count}</b>人</p></div><div class="form_content m_10"><div class="cont"><table class="list_table" width="100%" cellpadding="0" cellspacing="0"><col width="200px" /><col width="200px" /><col /><thead><tr><th>被邀请人用户名</th><th>注册时间</th></tr></thead><tbody>{set:$page= (isset($_GET['page'])&&(intval($_GET['page'])>0))?intval($_GET['page']):1;}{query:name=user as u join=left join member as m on m.user_id eq u.id where=u.invite eq $user_id fields=u.username,m.time page=$page pagesize=1}<tr><td>{$item['username']}</td><td>{$item['time']}</td></tr>{/query}<tr><td colspan='3'>{$query->getPageBar()}</td></tr></tbody></table></div></div>
</div>
完成功能!!!



iwebshop功能添加——邮箱邀请注册增加积分相关推荐

  1. 微信小程序邀请好友增加积分

    假设你的小程序中已经有了一个邀请好友的按钮或页面,那么可以在相应的触发事件中添加以下代码: // 监听邀请好友成功事件 wx.onShareAppMessage(() => {// 增加2积分l ...

  2. 5. OD-把限制的功能恢复,把阉割的功能添加(未注册版本,部分功能不可使用的修改)

    导入后程序运行F9出现异常, 使用shift+F7/F8/F9来忽略程序异常 异常就是程序中的抛异常,比如除数不能为0,对系统有破坏,做异常处理. 或者 1. 在弹出程序错误时,提示功能未注册版本限制 ...

  3. PHP 开发邀请功能,使用 larainvite 为 Laravel 5.3 应用添加邀请注册功能

    创建项目 composer create-project laravel/laravel blog --prefer-dist "5.3.*" 注册登录 生成代码 $ php ar ...

  4. 阻塞队列的使用案例-注册成功后增加积分

    假如我们模拟一个场景,就是用户注册的时候,在注册成功以后发放积分.这个场景在一般来说,我们会这么去实现 但是实际上,我们需要考虑两个问题 1. 性能,在注册这个环节里面,假如添加用户需要花费1秒钟,增 ...

  5. ECmall邀请注册功能构想和实现

    需求:客户想有一个可以邀请注册,每一个客户都有自己的邀请链接,可以邀请朋友注册. 环境:WAMP,基于ECmallCMS二次开发. 初步构想: 每个用户在数据库中都有自己的id(A),可以通过判断id ...

  6. 如何企业邮箱添加、删除黑白名单?【企业邮箱怎么注册】

    用户和管理员均可设置黑白名单,从而维护一个更安全的企业邮箱使用环境. Webmail端 1.功能入口 用户登录Webmail端企业邮箱,通过"设置>反垃圾/黑白名单"进入反垃 ...

  7. DEDECMS防恶意注册增加邮箱注册码

    前提条件:后台核心设置,邮箱能够正常通信. 0.在数据库中新建一个dede_regnum表 . 表段如下图: 1./member/templets/reg-new.htm中 1>增加如下代码: ...

  8. mysql查询使用qq邮箱注册_Spring Boot实现qq邮箱验证码注册和登录验证功能

    1.登录注册思路 这是一个使用spring boot做的一个qq邮箱注册和登录的项目. 没写前端页面,使用postman测试.有截图详细. 1.1.思路 注册:通过输入的邮箱发送验证码,检验前端传来的 ...

  9. 工作邮箱怎么注册?企业邮箱有哪些功能?

    工作邮箱怎么注册?目前大部分企业给员工企业邮箱作为自己的工作邮箱,而不是自己注册,通常是由企业邮箱管理员或者有相关权限的工作人员负责注册. 企业邮箱是指以公司自己的域名为后缀的电子邮件地址.比如企业邮 ...

  10. 积分制管理系统:其它可增加积分的功能

    目前员工可增加积分的功能除了任务和申请外,还有[签到].[许愿墙].[工龄分+岗位分]. [签到]:只需点击我的信息中签到,即可完成当然签到,再次点击即可看到签到历史记录,如下图所示: [许愿墙]:点 ...

最新文章

  1. h5 数字变化_前端/h5 D3.js实现根据数据动态更新图形/类似进度实时变化效果
  2. sprintf格式化字符串带来的注入隐患
  3. linux usr g 空间不足,centos 磁盘空间不足
  4. 基于深度学习的多目标跟踪:从UMA Tracker出发谈谈SOT类MOT算法
  5. java5新特性静态引用、foreach、自动装箱和泛型枚举以及可变参数的总结
  6. MySQL数据以全量和增量方式,向ES搜索引擎同步流程
  7. 例1:反转一个三位整数
  8. day inset_按 SetPrinter API 修改打印机设置 - Application Developer | Microsoft Docs
  9. python zookeeper api_zookeeper java api介绍
  10. hbase数据库使用
  11. z世代消费力白皮书_2019 Z世代消费力白皮书,洞悉2.6亿年轻人消费倾向
  12. 团队作业1——团队展示
  13. Android studio 入门笔记
  14. 微生物恒化器中的进化压力----进化模型推导与分析
  15. 计算机软件著作权登记的申请流程是什么
  16. 工作中整理了一份身份证户籍地数据库,现将生成的脚本共享,欢迎使用、升级、修正
  17. ceph的数据存储之路(4) ----- rbd client 端的数据请求处理
  18. NFC手机(小米2A刷机到Android4.4)HCE环境搭建
  19. 修改虚拟机中屏幕分辨率的方法(Linux)
  20. 几何公式和定理(初中)一些常用数学公式

热门文章

  1. 7-4 厘米换算英尺英寸
  2. 说一说我电脑上的那些必备软件
  3. C#实现微信网页授权
  4. 公众号搜题接口API
  5. Echarts经纬度数组
  6. PS图层蒙版、参考线显示边距、盖印图层
  7. 银行卡三要素/三元素检测API,银行卡实名认证接口文档
  8. c语言用分治法求最大最小值,C语言实现分治法实例
  9. WPS页眉页脚怎么设置每页不同
  10. 【Lintcode】350. Slash Separating