从此不求人:自主研发一套PHP前端开发框架(10)

本文将介绍如何在MVC架构中实现用户登录,并利用setcookie()函数设置和获取Cookie,确保安全有效的用户身份验证过程。

步骤如下

1 来到MVC下得Model文件夹
2.新建一个UserModel.inc
包含四个属性 user_id user_name user_email user_pass
3 在functions.php中写一个set_user函数,模拟用户登录成功
4 完善the_user函数来获取当前用户登录

关于setcookie

setcookie()函数向客户端发送一个HTTP cookie 必须在任何其他输出发送前对cookie进行赋值

setcookie(name,value,expire,path,domain,secure);

name 必须 规定cookie的名字
value 必须 规定cookie的值
expire 可选 规定cookie的有效期
path可选 规定cookie的服务器路径
domain 可选规定cookie的域名
secure可选规定是否通过安全的HTTPS链接来传输cookie

代码UserModel

<?php 
   /**
   * 用户模型类
   */
   class UserModel 
   {
    var $user_id = 0;
    var $user_name ='';
    var $user_email='';
    var $user_pass ='';
    function UserModel(){
        //这里什么都不用写 以后进行拓展的
    }
   }
 ?>

代码functions.php

  //设置当前登录用户
  function set_user($md,$time){
    if($time<0){
            //代表注销
        setcookie(LKPHP_USERCOOKIE,'',time()-3600,'/');
    }else{
        //代表登录成功
             setcookie(LKPHP_USERCOOKIE,json_encode($md),time()+$time,'/');//对对象进行json编码
    }
  }
 //load_XX系列。 譬如加载一个model
 /*
  * 加载一个model  
  * $modelName是m名,加载与mvc/model中的某个model
  */
 function load_model($modelName)
 {
    $mdPath = LKPHP_PATH.'MVC/Model/'.$modelName.'.inc';
    if(file_exists($mdPath)){
        require_once($mdPath);
    }
    $md = new $modelName();//实例化Model 
 }
 /*
  * 获取当前登录用户
  * 返回值是个model 如果用户没有登录则返回false
  */
 function the_user()
 {
    //可以使用cookie 也可以使用session
    return isset($_COOKIE[LKPHP_USERCOOKIE])?json_decode($_COOKIE[LKPHP_USERCOOKIE]) :false;
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值