thinkphp实现商城

默认值

如果你不想在你的模板文件中判断什么为不为空,为空的话怎样,不为空的话怎样的话,你可以在后台传入参数的时候使用默认值!

或者用TP5的三目运算符也OK的

{$user.nickname|default="这家伙很懒,什么也没留下"}

登录

controller

控制层

public function login(){

        if(request()->isAjax()){//如果是ajax请求
            $data = [
                'login_user_name' => input('login_user_name'),
                'login_password' => input('login_password'),
            ];

            $res=model('Tbadminuser')->login($data);
            //这个交给model层去做传入的数据就是$data,他会传回来给你res数据
            if($res==1){
                session('nick_name',Db::table('tbadminuser')->where('login_user_name',$data['login_user_name'])->value('nick_name'));
                $this->success('登录成功!','admin/admin/index');//你要跳转到的页面,在Db::table指定你需要找的表,这样来取出来值放到session里面。
            }else{
                $this->error($res);
            }
        }
        return view();
    }

model

模型层

    public function login($data){
        //validate
        $validate = new \app\common\validate\Tbadminuser();//新建一个这个对象来让它验证你的数据格式是不是正确的
        if($validate->scene('login')->check($data)==0){
            return $validate->getError();
        }
        //find in database
        $res=$this->where($data)->find();//数据库的找,不用指定表名也可以找,
        if($res){
            return 1;
        }else{
            return "账号或密码错误!";
        }
    }

注册

注册需要多一个create的环节

        $this->create([
            'nick_name'=>$data['nick_name'],
            'login_user_name'=>$data['login_user_name'],
            'login_password'=> $data['login_password'],
            'locked'=>0,
        ]);

validate

格式层

class Tbadminuser extends Validate{
    //rules
    protected $rule = [
        'nick_name'=>'require',
        'login_user_name'=>'require',
        'login_password'=>'require',
    ];
    //scene
    protected $scene = [
        'login'=>['login_user_name','login_password'],
        'register'=>['nick_name','login_user_name','login_password']
    ];
}

防盗链

public function mall_goods(){
    if(!session('?nick_name')){//如果session没有这个东西的话说明没有登录
        $this->redirect('/index.php/admin/login');//重定向到那个地址
        return ;
    }else{
        $this->assign('nick_name',session('nick_name'));//$this->assign("arr",$arr)中第一个参数是在模板中使用的变量名,名字可以任意取,第二个参数是传递给模板的变量。
        return $this->fetch();//这个和return view()差不多
    }
    return view();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值