1、4. 发送对应的修改密码的链接地址给用户的邮箱5. 用户登录自己的邮箱,完成密码的找回或者修改模型中为什么能直接使用表中的字段?(基本功)1. create方法调用的时候 把表单的数据赋值了对应的 $model-data = $data2. _get() 魔术方法 在调用一个对象不存在的属性的时候会被调用例如:当$userModel-password 对象的password属性不存在的情况下, 这个时候魔术方法 _get(password) 就会被调用的,并且将该属性作为参数传递给该魔术方法3. _set() 魔术方法 在设置一个对象不存在的属性的时候会被调用password = $datap
2、assword做赋值操作的时候,对象的password属性不存在的情况下,这个时候 _set(password, $datapassword) 魔术方法会被调用,并且将属性和和值作为参数传递给该魔术方法代码1、发送找回密码的邮件1. 修改login.html页面,增加一个找回密码的链接2. 在userController里面增加一个remeber方法4. 邮件发送(注意有的时候,邮件会被发送到垃圾桶里面)二、用户更加邮件内容重新更改密码1. 当用户点击找回密码按钮后,跳转到一个更新密码的表单find.html 2. 在userController里面定义一个find方法,用户更新用户提交的密码
3、a) 首先先根据ID取出用户的信息,在表单显示find.html页面显示b) 然后完成用户点击【完成找回】的post数据接收注意:需要在更新数据入库前完成密码的加密操作短信验证技术主要目的:窃取用户的资料简介应用场景:用于用户注册、身份确认、重要资料修改及会员服务类的通知(支付宝 余额发生更改)的场景,短信验证码调用简单、稳定及时。(注册、订单成功,高可用集群系统出问题之后发送提示)实际目的:获取用户的资料,方便商家促销活动的开展以及一些商家信息的推送。实际场景:1. 注册行为2. 新浪邮箱注册地址:技术实现主要是通过第三方提供的接口来实现短信的验证。(第三方公司是和移动或者联通合作)技术提供
4、方:容联云通讯官网:测试地址:网址:开发手册:开发SDK代码包下载:简单入门利用短信验证技术,使用用户注册的案例,在用户在网站注册会员的时候,需要用户通过输入手机号码,然后获取验证码,并在验证通过之后,方可注册。配置1. 在容联云通讯注册会员账号信息2. 进入控制台,查看测试demo3. 由于现在使用的是非正式环境应用,只能使用测试账号。在测试demo获取获取账号ID和token以及应用ID以及服务器IP4. 接口文件5. 在SendTemplateSMS.php文件中添加测试demo的账号ID和token以及应用ID以及测试环境IP6. 【注意】添加测试手机账号信息,由于应用没有正式上线,测
5、试手机号码只能是固定的。业务流程分析项目代码使用该短信验证接口需要开启curl扩展解决1. 修改注册页面,添加一个手机验证码获取按钮register.html页面2. 为【获取免费手机验证码】绑定点击事件完成ajax请求3. 在服务器端完成短信的发送和验证码的保存a. 接收前端传递的手机号码和验证码的生成4. 在userController的register方法里面完成验证码的验证功能公司版本:线上环境Apache 2.2php-5.3.x(目前是兼容性最好) php-fpm 模式 (5.3.12 以后php单独的运行成一个服务)MySQL- 5.5(5.6 InnoDB)= mariadb(
6、10.x版本) percnalinux - centos( 5.5 6.5) ( redhat -10w)Ubuntu 14.04 版本 (麒麟Linux)(长期支持 7年之久)- vagrant (boxes 类型 镜像)虚拟机 - boxes环境一致购物车主要是对于电商网站,在用户在购买物品后,用来保存购买的商品信息。问题1:购物的数据使用什么来保存?存储技术1. session 关闭浏览器2. MySQL 可以 一般在用户登录后会将购物车的数据保存到里面,实现用户在何时何地(任何时间 任何浏览器 任何IP下都可以看到自己加入购物车的数据)都可以查看到自己购物车的数据。3. cookie
7、可以 一般在用户没有登录的情况下来实现商品的保存。(1. 只能在有限的浏览器下才能看到的到,cookie是区分浏览器的)4. memcache 不可以 一般都不会额外网站:浏览器迷 通过上面的比较 可以得到 在用户没有登录的情况下 使用 cookie来保存购物车数据;登录后会把cookie的数据转存到MySQL的表中,同时清空cookie里面的信息;1. 京东单次购买一件商品 最多 200件2. 通过发现京东在用户没有登录的情况下,把数据是保存到cookie里面的3. 当用户在没有登录的情况下,购买的物品会加入到购物车(cookie保存);当用户登录后会把cookie里面的数据转存到MySQL
8、的表中,同时一定会清空cookie。这个时候购物车的数据已经被保存到MySQL的数据表中了,用户可以在何时何地都查看了。问题2:什么样的数据适合保存到购物车里面?cookie保存:1. 商品ID2. 商品属性ID3. 购买的数量MySQL的表保存:3. 商品数量4. 用户ID问题3:cookie中保存什么样的数据结构?1. cookie里面只能保存序列化的数据(字符串)2. session里面能保存数组吗?因为session会自动把复合数据类型序列化。$_COOKIEname = serialize( array(1,3,4) ); 可以$_SESSIONname = array(12,24,
9、5); 可以 那购物车里面保存的数据结构是怎么样的?cookie中如下array(goods_id-goods_attr_id = goods_number,)含义大致为:13 红色 4G 深圳 iPhone 89 白色 3G 广州 iPhone 13-2,3,4=12,89-8,9,17 = 34,MySQL-cart表idgoods_idgoods_attr_idgoods_numberuser_id1132,3,41272898,9,1734卖了 商品ID为 13(属性 2 , 3 ,4) 和 89(属性 8, 9, 17) 的这两类商品,13卖了 12件 89 卖了 34 总共卖了46
10、件商品MySQL-Cart表对于用户登录后,需要把数据保存到MySQL的cart表里面。表结构如下单选属性的完善补充完成商品属性显示1. 在indexController的detail方法里面完成单选属性的获取需要对单选属性处理:相同的单选属性放在一起,形成如下的结构2. 属性显示3. 效果购物车数据入库1. 创建一个cartController控制器,添加一个addToCart方法用来收集商品ID,商品属性ID和商品数量在处理商品属性ID的时候,可以对提交的数据unset到商品ID和商品数量后等到商品属性ID数组,然后使用implode分割成字符串2. 定义一个CartModel,定义一个addToCart方法来入库数据
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2