系统的控制器代码如下 <?php namespace app\admin\controller; use pig\core\Controller; use app\model\User; session_start(); class Index extends Controller { public function __construct() { parent::__construct(); } //测试访问路由就访问到这个方法 public function demo($name='真的是') { echo $name; } //演示模板引擎的使用 public function testView() { //变量 $site = 'www.php.cn'; //数组 $courses = ['php','java','python']; //对象 $lecture = new \stdClass();//命名空间是根目录 $lecture->name = '灭绝师太'; $lecture->age = 24; $lecture->course='前端开发'; //测试是否能解析变量 $this->assign('site',$site);//这是自己写的赋值和渲染模板在controller里面 $this->assign('courses',$courses); $this->assign('lecture',$lecture); //渲染模板,自己写的 $this->fetch(__DIR__.'/../view/index/testView.php'); } //获取用户信息列表 public function index() { $rows = (new User())->select('user',['id','name','sex','age','phone','email','birthday'],[ //搜索功能,如果用户提交了搜索条件就根据条件搜索,否则显示全部 'name[~]'=>isset($_POST['name']) ? $_POST['name'] : null //name[~]表示搜索字段的某一个字符就行 ]); //调用plates模板引擎进行模板赋值和模板渲染 $this->view调用模板 //render()的第二个参数就是我们所要传递的数据 return $this->view->render('admin::index/index',[ 'rows'=>$rows, 'title'=>'生日信息表', 'loginUrl'=>'admin/Index/login',//登录 'logoutUrl'=>'admin/Index/logout',//退出登录 'indexUrl'=>'/frame_project/',//返回首页 'insUrl'=>'admin/Index/insert',//添加操作 'editUrl'=>'admin/Index/edit',//编辑操作 'delUrl'=>'admin/Index/delete',//删除操作 ]);//admin是一个路径,在controller里面设置了这里调用需要加:: } //管理员登录 public function login() { if($_SERVER['REQUEST_METHOD']=='POST'){//判断是否是post提交的数据 //验证用户 $user=$_POST['name']; $pass=$_POST['password']; $res = (new User())->get('admin',['name','email','password'],[ 'AND'=>['name'=>$user, 'password'=>$pass,]]); if($res==null){ echo "<script>alert('姓名或密码不正确');location.href='/frame_project/';</script>"; }else{ $_SESSION['name']=$res['name'];//将姓名保存到session,方便下次打开页面是做判断 echo "<script>alert('登录成功');location.href='/frame_project/';</script>"; } } } //退出登录 public function logout() { session_destroy();//销毁session echo "<script>alert('退出成功');location.href='/frame_project/';</script>"; } //添加数据分两步:1.渲染出一个添加表单,2.将数据写入表中 public function insert() { return $this->view->render('admin::index/insert',[ 'title'=>'添加记录', 'url'=>'/frame_project/admin/Index/add', ]); } //添加操作 public function add() { if($_SERVER['REQUEST_METHOD']=='POST'){ //执行添加操作 (new User())->insert('user',[ 'name'=>$_POST['name'], 'sex'=>$_POST['sex'], 'age'=>$_POST['age'], 'phone'=>$_POST['phone'], 'email'=>$_POST['email'], 'birthday'=>$_POST['birthday'], ]); echo "<script>alert('添加成功');location.href='/frame_project/';</script>"; } } //编辑操作 public function edit($id='') { $row = (new User())->get('user',['id','name','sex','age','phone','email','birthday'],[ 'AND'=>['id'=>$id]]); return $this->view->render('admin::index/edit',[ 'title'=>'编辑用户', 'url'=>'/frame_project/admin/Index/save', 'row'=>$row, ]); } //执行更新操作 public function save($id) { if($_SERVER['REQUEST_METHOD']=='POST'){ //执行添加操作 (new User())->update('user',[ 'name'=>$_POST['name'], 'sex'=>$_POST['sex'], 'age'=>$_POST['age'], 'phone'=>$_POST['phone'], 'email'=>$_POST['email'], 'birthday'=>$_POST['birthday'], ],['id'=>$id]); echo "<script>alert('更新成功');location.href='/frame_project/';</script>"; } } //执行删除操作 public function delete($id) { (new User())->delete('user',['id'=>$id]); echo "<script>alert('删除成功');location.href='/frame_project/';</script>"; } }
页面展示: