TP3验证码判断、分页、缩略图

分页以及模糊查询

    //显示商品列表
        public function list1(){
            //查询商品分类
            $cat = M('category')->select();
            //注册一个变量
            $this->assign("cat_list",$cat);    
            //查询商品品牌
            $brand = M('brand')->select();
            //注册一个变量
            $this->assign("brand_list",$brand);
            //表头
            $arr = array('编号','商品名称','货号','价格','图片','缩略图','新品','精品','热销','库存','操作');
            //注册一个表头数据
            $this->assign("bt",$arr);    
            //查询数据库
            $m = M('goods')->select();
            //模糊查询
            //获取分类数据
            $cat_id = $_GET['cat_id'];
            //获取品牌数据
            $brand_id = $_GET['brand_id'];
            //获取推荐数据
            $intro_type = $_GET['intro_type'];
            //获取上架数据
            $is_on_sale = $_GET['is_on_sale'];
            //获取关键字数据
            $keyword = $_GET['keyword'];
            //判断分类数据是否存在
            if(!empty($cat_id)){
                //如果存在,把条件追加到数组里
                $where['goods_category_id'] =$cat_id;
            }
            //判断品牌数据是否存在
            if(!empty($brand_id)){
                $where['goods_brand_id'] =$brand_id;
            }
            //判断推荐数据是否存在
            if(!empty($intro_type)){
                //如果存在,把条件追加到数组里(等于1是因为表里面三个字段是通过1和0来区分是否被选中,html页面他们三个value是字段名)
                $where["$intro_type"] = '1';
            }
            if(!empty($keyword)){
//                $list = $m->where("goods_name like '%$keyword%'")->select();
                $where['goods_name'] = array('like','%'.$keyword.'%');
            }
            
            //    分页
            //查询数据库
            $model = M('goods');    
            
              //总记录数  where($where) 这是把上面模糊查询的结果放到这里面
            $recordcount=$model->where($where)->count(); 
            $page=new ThinkPage($recordcount,3);//new一个方法

            $page->lastSuffix=false;    //最后一页是否显示总页数
            $page->rollPage=3;          //分页栏每页显示的页数
            $page->setConfig('prev', '【上一页】');
            $page->setConfig('next', '【下一页】');
            $page->setConfig('first', '【首页】');
            $page->setConfig('last', '【末页】');        

            $page->setConfig('theme', '共 %TOTAL_ROW% 条记录,当前是 %NOW_PAGE%/%TOTAL_PAGE% %FIRST% %UP_PAGE%  %DOWN_PAGE% %END%');

            $startno=$page->firstRow;   //起始行数
            $pagesize=$page->listRows;  //页面大小
            $list=$model->where($where)->limit("$startno,$pagesize")->select();
            $pagestr=$page->show(); //组装分页字符串
            $this->assign('list',$list);//注册查询变量
            $this->assign('pagestr',$pagestr);//注册分页变量
            
            $this->display();//调用这个模板
        }
View Code

验证码

html页面调用验证码:

<tr>
                        <td>验证码:</td>
                        <td>
                            <input type="text" name="captcha" class="capital" />
                        </td>
                    </tr>
                    <tr>
                        <td colspan="2" align="right">
                            <img src="__CONTROLLER__/VerifyImg" width="145px" height="30px"  alt="" onClick="this.src='__CONTROLLER__/VerifyImg/'+Math.random()" />
                        </td>
                    </tr>
View Code

PHP页面调用方法

//创建验证码方法
        public function VerifyImg(){
            //创建验证码的配置文件(框架自带的,可以直接从ThinkVerify拿过来用)
            $config = array(
                  'length'    => 4,               // 验证码位数
                  'useCurve'  => false,            // 是否画混淆曲线
                  'useNoise'  => false,            // 是否添加杂点
            );
            //实例化方法
                $Verify = new ThinkVerify($config);
            //创建验证码
                $Verify->entry();
        }
View Code

判断验证码、账号密码是否正确

//判断用户登录
        public function dlyz(){
            $this->utf();
            //获取用户输入的验证码
            $yzm = $_POST['captcha'];
            //new一个方法(找到Verify())
            $img = new ThinkVerify();
            //判断,如果验证码正确,在判断用户名密码(check($yzm)框架自带的验证方法
            if($img->check($yzm)){
                //找到数据库的表
                $admin = M('admin');
                //I方式接收 data括号里写字段名   I括号里写传输方式和name名,类似$_POST['admin_user'];
                $data['admin_user'] = I('post.username');    
                $data['admin_psd'] = I('post.password');
                $mm = $admin->where($data)->find();
                    //判断,如果账号密码匹配
                    if($mm){
                        
                        //跳转本控制器的Index方法
                        $_SESSION['qx'] = I('post.username');
                        $this->redirect("Index/index");
                     //   $this->display();
                    }else{
                        //否则提示账号密码错误
                        $this->error('用户名或密码错误',U("login/login"),2);
                    }
            }else{
                //如果验证码错误,提示验证码错误
                $this->error('验证码错误',U("login/login"),2);
            }
        }
View Code

上传图片及生成缩略图

//添加商品sql语句调用商品模板
        public function add(){
            //查询商品品牌表
            $brand = M('brand')->select();
            //注册一个变量给html页面
            $this->assign('brand',$brand);
            //查询商品分类
            $category = M('category')->select();
            $this->assign('category',$category);
            //判断前面是否post传值
            if(IS_POST){
                //查表
                $goods = M('goods');
                //create()方法接收前面所有的值
                $data = $goods->create();
                //判断goods_img(字段名)的error是否为0(就是判断上传图片是否成功)
                if($_FILES['goods_img']['error']==0){
                    //图片存放路径
                    $config = array(
                        //后台路径
                        'rootPath' => "./Applicationxm/Admin/Public/img/",
                    );
                    //new一个框架的方法
                    $upload = new ThinkUpload($config);
                    
                    $info = $upload->uploadOne($_FILES['goods_img']);
                    //大图的存放路径
                    $data['goods_big_img'] = $info['savepath'].$info['savename'];
                    //缩略图
                    //new一个方法
                    $img = new ThinkImage();
                    //打开图片
                    $big_img = $upload->rootPath.$data['goods_big_img'];
                    $img->open($big_img);
                    //生成缩略图
                    $img->thumb(200,300,2);
                    //保存
                    $small_img = $upload->rootPath.$info['savepath'].'small_'.$info['savename'];
                    $img->save($small_img);
                    $data['goods_small_img'] = $info['savepath'].'small_'.$info['savename'];
                    
                    
                    //给货号加时间戳
                    $data['goods_sn'] = time();
                    $str = '添加失败';
                    if($goods->add($data)){
                        $str = '添加成功';
                    }
                    //跳转页面
                    $this->redirect('Menu/list1',array(),2,$str);
                }
            }
            //调用模板
            $this->display();
        }
View Code
原文地址:https://www.cnblogs.com/cp123/p/9292736.html