使用medoo实现小型用户管理系统

原创 2019-01-21 21:34:09 418
摘要:登陆后跳转的首页(userInfo.php):<?php /**  * 从session中提取登录者信息,并且通过smarty渲染管理者页面,传递参数  */ session_start(); //加载smarty require __DIR__.'/config/config.php'; //加载medoo框架 require&nbs

登陆后跳转的首页(userInfo.php):

<?php
/**
 * 从session中提取登录者信息,并且通过smarty渲染管理者页面,传递参数
 */
session_start();
//加载smarty
require __DIR__.'/config/config.php';
//加载medoo框架
require __DIR__.'/connect.php';
//将管理员信息从后台传到前台,并渲染出模板
$admin = $_SESSION['name'];
$id = $_SESSION['id'];
//查询数据库的数据,将数据传到前台
$table = 'user';
$field = ['id','name','password','sex','age','email','create_time'];
//查询结果为数组
$rows = $db->select($table,$field);
//print_r($rows);die;
$smarty->assign('rows',$rows);
$smarty->assign('admin',$admin);
$smarty->assign('id',$id);
$smarty->display('userInfo.html');

用户添加user_add.php

<?php
/**
 *处理添加界面传过来的数据
 */
//var_dump($_POST);
require __DIR__.'/connect.php';
//2.执行添加
$table = 'user';
$data = [
    'name'=>$_POST['name'],
    'sex'=>$_POST['gender'],
    'age'=>$_POST['age'],
    'email'=>$_POST['email'],
    'password'=>sha1($_POST['password']),
    'create_time'=>time()
];
$stmt = $db->insert($table,$data);
$status = 0;
$message = '';
if($stmt->rowCount()){
    $status = 1;
    $message='添加成功~~';
}else{
    $message = '添加失败~~';
}
echo json_encode(['status'=>$status,'message'=>$message]);

渲染修改界面(xr_update.php)

<?php
/**
 * 渲染添加界面
 */
//var_dump($_POST);
require __DIR__.'/config/config.php';
require __DIR__.'/connect.php';
$id = $_POST['id'];
//构建查询条件
$table = 'user';
$field = ['id','name','age','email','password'];
$where = ['id'=>$id];
//查询,传值,渲染更新界面
$rows = $db->select($table,$field,$where);
//var_dump($rows);die;
$smarty->assign('rows',$rows);
//$smarty->display('update.html');
echo json_encode($smarty->display('update.html'));

用户修改(user_update.php)

<?php
/**
 *修改用户
 */
//var_dump($_POST);die;
//1.实例化Medoo框架类
require __DIR__.'/connect.php';
$table = 'user';
$data=[
    'name'=>$_POST['name'],
    'password'=>$_POST['password'],
    'age'=>$_POST['age'],
    'email'=>$_POST['email']
];
$where['id']=$_POST['id'];
$stmt = $db->update($table,$data,$where);
$status = 0;
$message='';
if($stmt->rowCount()){
    $status =1;
    $message='更新成功~~';
}else{
    $message = '更新失败~~';
}
echo json_encode(['status'=>$status,'message'=>$message]);

删除用户(del.php)

<?php
/**
 * 删除数据
 */
//var_dump($_POST);
require __DIR__.'/connect.php';
//前台传过来的需要删除数据的id
$id = $_POST['id'];
$table = 'user';
$where['id']=$id;
$stmt = $db->delete($table,$where);
$status=0;
$message='';
if($stmt->rowCount()>0){
    $status =1;
    $message = '删除成功~~';
}else{
    $message = '删除失败!';
}
echo json_encode(['status'=>$status,'message'=>$message]);

首页js代码(userInfo.html),主要通过点击事件实现

<script type="text/javascript">
    function logout(){
        $.post('../logout.php',
            function(data){
                window.location.href='temp/login.html';
            }
        )
    }
    function add() {
        $.post('../user_add.php',
              $('#add').serialize(),
               function(data){
                   data = JSON.parse(data);
                   if(data.status==1){
                       alert(data.message)
                   }else{
                       alert(data.message);
                   }
                   window.location.reload();//重新加载页面,显示所有数据
            })
    }
    function del(id) {
        //console.log(id);
        $.post('../del.php',
            {id:id},
            function(data){
                //console.log(data);
                data = JSON.parse(data);
                if(data.status==1){
                    alert(data.message)
                }else{
                    alert(data.message);
                }
                window.location.reload();//重新加载页面,显示所有数据
            }
        )
    }
    function update(id){
       // console.log(id);
        $.post('../xr_update.php',
            {id:id},
            function(data){
                //console.log(data);
                $('body').html(data);
            })
    }
</script>

思路以及总结:主要使用bootstrap,smarty,medoo实现,包括登录,注册,对用户进行添加,修改和删除功能。数据表包括管理员和用户两张表。使用了bootstrap中的表单,模态框,在使用$.post()函数传参数时,参数写成json格式的出现问题,修改smarty配置中的定界符,因为默认定界符与json数据的相同,发生冲突。实现添加用户时,使用了模态框,修改信息时,使用$.post()从后台传json格式页面,然后通过$.('').html方式显示出来,这种方式存在问题,显示出修改界面不进行修改,返回时不能进入首页.怎么实现传过来的界面在另一个地址显示,不在返回界面展示,分页功能没有实现。通过这个系统,巩固了bootstrap,smarty和medoo的知识,系统还存在小问题,后期会进行不断的完善。需要多巩固之前的知识,还需要课后多练习。

register.pnglogin.pnguserInfo.pngadd.pngupdate.png

批改老师:天蓬老师批改时间:2019-01-22 09:12:28
老师总结:通过以上操作, 对MVC的软件开发架构,应该有了新的认识, 开发的思维也有了新高度

发布手记

热门词条