php入门之thinkphp的使用

首先到官网下载thinkPHP的框架,解压到你的项目文件夹下面,如下图所示

接着你可以下载一个前端模板,也可以自己手写前端(这里是下载模板)

准备工作完成,下面进行开发:

第一步:把下载的前端模板中的lib,static文件复制到public/static目录下,如下图

第二步:在application/index下面能看到controller,model,view文件,(如果没有可自行创建)

第三步:导入模板

1.在application/index/view新建一个文件夹,user(注意要小写)用来存放和用户相关操作,如登录,注册,添加用户等

将下载好的前台模板中你需要的页面复制到application/index/view/user下面

2.在application/index/controller新建一个php文件User(首字母大写),用来存放和用户相关操作方法,如登录,注册,添加用户等方法

3.链接数据库:打开database.php文件,输入数据库信息

注意:view/user和controller/User名字要一致,区分大小写而且和数据库表一致

下面展示登录和首页代码。html中引入的css和js地址改成自己的

在application/index/controlle下新建一个base.php文件代码如下:

namespace app\index\controller;

use think\Controller;
use think\Session;
class Base extends Controller
{

    protected function _initialize()
    {
        parent::_initialize();
        define("USER_ID",Session::get('user_id'),true);
    }
    protected function isLogin()
    {
        if(!user_id)
        {
//            $this->error('用户未登录','user/login');
            echo "<script>window.location.href='index/user/login'</script>";
            return user_id;
        }
    }
    protected function alreadyLogin()
    {
        if(user_id)
        {
            $this->error('用户已登录,请勿重复登录','index/index');
//            return user_id;
        }
    }


}

controller中代码(前端页面名称,需要和渲染它的方法名相同):

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018\8\29 0029
 * Time: 9:22
 */

namespace app\index\controller;


use app\index\controller\Base;
use think\Model;
use think\Db;
use think\Request;
use app\index\model\User as Usermodel;
use think\Session;

class User extends Base
{

    public function login()
    {
        $this->alreadyLogin();
//        return $this->fetch('login');
        return $this->view->fetch();//渲染登录页面

    }
    public function checklogin(Request $request)//登录验证
    {
        $sta=0;
        $result="";
        $data=$request->param();
        $user=Db::table('user')
            ->where('acc',$data['name'])
            ->find();
//        var_dump($user);
//        exit();
        if($data['password']==$user['pass'])
        {
            if($user['auth_user']==1)
            {
                $sta=1;
                $result="验证通过,点击确定";
                Session::set('user_id',$user['id']);
                Session::set('user_info',$user);
            }
            else{
                $result="您没有权限登录";
            }
        }
        else{
            $result="用户名或密码错误";
        }
        return ['status'=>$sta,'message'=>$result,'data'=>$data];
    }
    public function logout()
    {
        Session::delete('user_id');
        Session::delete('user_info');
//        $this->success('注销登录,返回登录页面','user/login');
        echo "<script>window.location.href='login'</script>";
    }
    public function  admin_list(){
        $this->view->count=count(Db::table('user')
            ->select());
        $userName=Session::get('user_info.name');
            $list=Db::table('user')
                ->select();
        $this->view->assign('list',$list);
//        var_dump($list);
//        exit();
        return $this->fetch('admin_list');//渲染用户列表页面
    }

登录页面代码:

<body>
<input type="hidden" id="TenantId" name="TenantId" value="" />
<div class="header"></div>
<div class="loginWraper">
   <div id="loginform" class="login-Box">
      <h2 align="center">登录</h2>
      <form class="form form-horizontal" action="index.html" method="post">
         <div class="row cl">
            <label class="form-label col-xs-3"><i class="Hui-iconfont">&#xe60d;</i></label>
            <div class="formControls col-xs-8">
               <input id="name" name="name" type="text" placeholder="账户" class="input-text size-L">
            </div>
         </div>
         <div class="row cl">
            <label class="form-label col-xs-3"><i class="Hui-iconfont">&#xe60e;</i></label>
            <div class="formControls col-xs-8">
               <input id="password" name="password" type="password" placeholder="密码" class="input-text size-L">
            </div>
         </div>
         <div class="row cl">
            <div class="formControls col-xs-8 col-xs-offset-3">
               <input name="login" id="login" type="button" class="btn btn-success radius size-L" value="&nbsp;登&nbsp;&nbsp;&nbsp;&nbsp;录&nbsp;">
            </div>
         </div>
      </form>
   </div>
</div>
<script type="text/javascript" src="__STATIC__/lib/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="__STATIC__/static/h-ui/js/H-ui.js"></script>
<script>
   $(function(){
       $("#login").on('click',function(event){
           $.ajax(
            {
               type:"post",
               url:"{:url('checklogin')}",//请求发送地址:User/checklogin方法
               data:$("form").serialize(),
               dataType:'json',
               success:function (data) {
                   if(data.status==1)
                  {
                      // alert(data.message);
                      window.location.href="admin_list.html";
                  }
                  else{
                       alert(data.message);
                  }
                    }
            })
         })
      })

</script>
</body>

猜你喜欢

转载自blog.csdn.net/qq_42539251/article/details/82493200