需求:客户想有一个可以邀请注册,每一个客户都有自己的邀请链接,可以邀请朋友注册。

环境:WAMP,基于ECmallCMS二次开发。

初步构想:

每个用户在数据库中都有自己的id(A),可以通过判断id来确定A是否邀请了B。注册成功则写入数据库的ecm_member中。在member数据表添加一个字段,pr_id,作为邀请人的id。

首选分析ECmall的注册机制。

主入口文件:index.php?app=member&act=register&ret_url=

member模型下的register方法。

打开member.app.php,发现了    function register()方法。

首先是判断用户是否登录,if ($this->visitor->has_login) 如果没有登录就提醒登录 $this->show_warning('has_login');

if (!IS_POST)这个判断代码让我很疑惑。

在网路上没找到详细的说明,新增加的这个变量是ThinkPHP3.0.1dev版本开始支持的。

从字面意思上看就是如果提交方式不为POST的话,做下面的操作。

我是这样修改的,在数据库中的member表添加一个user_pid字段,默认为0。然后打开现在使用的模板文件夹,打开member.register.html模板文件(ps:我的项目是配资公司旗下的一个项目)。

找到form表单的行,添加如下

                        <form name="" id="register_form" method="post" action=""><table><tr><td colspan="2"><h4>{$lang.enter_register_info}</h4></td><td >邀请id:(默认为空)<h4><input type="text" disabled="disabled" id="user_pid" name="user_pid" value="{$user_pid}"   /></h4></td></tr>

在app文件夹中打开member.app.php,找到register方法,在头部添加$get['user_pid']接收数据并且assgin变量。

然后在$user_id = $ms->user->register($user_name, $password, $email,$user_pid);

然后打开passport下default.passport.php,找到register函数,增加参数$user_pid.

保存,打开浏览器访问 域名/index.php?app=member&act=register&ret_url=&user_pid=111测试,可以看到user_pid文本框已经显示出来了user_pid的值。

注册一个用户,然后就可以看到注册表中已经有了邀请的pid!

当然,user_pid需要做一下函数过滤,防止被人入侵。

sql语句:

select u.user_id,u.user_name, count(ui.user_id), group_concat(ui.user_name)
from ecm_member u 
   join ecm_member ui  
     on u.user_id=ui.user_pid
group by u.user_id

ECmall邀请注册功能构想和实现相关推荐

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

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

  2. 官方教程之短视频app源码接入openinstall实现免填邀请码功能

    短视频app源码在上线后,为了实现大规模推广,会开发用户邀请的功能.用户邀请新用户进行注册,建立上下级关系后,邀请用户可以获得短视频app源码的奖励.为了防止新用户注册后,不填写邀请码,短视频app源 ...

  3. App邀请注册如何提高效率

    现今已验证的商业模式中,以老带新的App邀请注册显然是最有效的一种App推广模式.具体推广效率有多高呢,瑞幸咖啡.拼多多.滴滴打车已经做了最好示范. 大多数人以为,只要邀请奖励够诱人,就能实现用户裂变 ...

  4. php+server注册机制,ECMall的注册与登录机制

    ecmall的注册流程index.php?app=member&act=register. 首先app是member,act是register方法. index.php中.通过ecmall的s ...

  5. java实现用户登录注册功能(用集合框架来实现)

    需求:实现用户登录注册功能(用集合框架来实现) 分析: A:需求的类和接口 1.用户类 UserBean 2.用户操作方法接口和实现类 UserDao UserDaoImpl 3.测试类 UserTe ...

  6. WordPress添加前台注册功能

    一.添加注册表单 1.首先在当前主题的目录下新建一个php文件,命名为reg-page.php,然后将page.php中的所有代码复制到reg-page.php中: 2.删除reg-page.php开 ...

  7. 注册登录案例用MVC和mysql_用MVC模式实现简单用户登录注册功能

    Model2模式 Jsp+Servlet+JavaBean MVC:开发模式 M:Model 模型层 ----> JavaBean V:View 视图层 ----> Jsp C:Contr ...

  8. 用java数组模拟登录和注册功能

    package com.linkage.login; import java.util.Scanner; public class user { // 存储用户名和密码 public static S ...

  9. java注册用户代码_java用户管理注册功能 含前后台代码

    本文实例为大家分享了java用户注册功能,供大家参考,具体内容如下 主页面: 浏览器显示: 代码实现: 用户信息管理 用户注册: 姓名: 密码: 查看所有用户 注册功能: 浏览器显示: 1)注册成功: ...

最新文章

  1. MYSQL注入天书之数据库增删改介绍
  2. wordpress文章添加css样式,给WordPress文章循环加上CSS类方便实现各种页面布局
  3. [Leetcode][第100题][JAVA][相同的树][二叉树][深度遍历][递归]
  4. char类型包括数字吗java_Java char 与 Character
  5. alwayson高可用组_了解AlwaysOn可用性组上的备份-第2部分
  6. 大批量安装系统的解决方案(集锦)
  7. JavaScript中unescape函数
  8. ALtera DE2开发板学习04
  9. 荣耀电脑,win11增加pin码登录选项后:电脑出现问题,你的PIN不可用。请单击以重新设置
  10. 苹果电脑各型号支持的macOS版本列表
  11. 黑苹果2k显示器开启hidpi_黑苹果无核显开启macOS-ipad随航功能
  12. 样条曲线(下)之插值问题(贝塞尔曲线、B样条和一般样条曲线插值)
  13. 最简洁的呼吸灯实验verilog
  14. 【免费】如何轻松的从音乐网站下载自己喜欢的mp3音乐?
  15. strcpy和strncpy的区别
  16. 8086汇编学习之[BX],CX寄存器与loop指令,ES寄存器等
  17. VR企业宣传满足宣传需求给客户强烈的真实感
  18. Vue框架Vue-cli脚手架引入图片报错
  19. 小孩学python有意义吗-小孩Python编程培训有用吗
  20. UDK – Projectiles

热门文章

  1. 【MEMS】【1】微机电系统与比例尺度定律(尺寸效应)
  2. AdvancedInstaller打包工具使用(五)
  3. 路漫漫其修远兮,吾将上下而求索(2019培训总结)
  4. 全国计算机考试励志语,鼓励考试的经典语句 为考试加油的暖心句子
  5. 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到 或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许 远程连接
  6. linux sudo yum命令详解,Linux apt-get
  7. 【软考】系统集成项目管理工程师(七)项目范围管理
  8. [北大肖臻-区块链技术与应用笔记]第三节课——共识机制
  9. 【量化】基于聚宽实现基本面多因子选股+技术指标择时策略
  10. DataParallel layers (multi GPU)