iwebshop添加邀请用户功能-邮箱邀请

为了吸引更多的用户注册我们给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>

完成功能!!! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值