小型用户管理系统

Original 2019-02-22 11:46:06 327
abstract:填加数据:insert.php <?php /**  * 添加数据  */ //引入smarty配置 include __DIR__.'/config/config.php'; //连接数据库 require __DIR__.'/medoo/conn.php'; @$act = $_R
填加数据:insert.php

<?php
/**
 * 添加数据
 */
//引入smarty配置
include __DIR__.'/config/config.php';

//连接数据库
require __DIR__.'/medoo/conn.php';

@$act = $_REQUEST['act'];

if($act=='get') {
    $name = $_REQUEST['name'];
    $age = $_REQUEST['age'];
    $sex = $_REQUEST['sex'];
    $email = $_REQUEST['email'];
    $password = $_REQUEST['password'];
    $zt = $_REQUEST['status'];
    $time = $_REQUEST['create_time'];

    //插入数据操作
    $table = 'user';
    $data['name'] = $name;
    $data['age'] = $age;
    $data['sex'] = $sex;
    $data['email'] = $email;
    $data['password'] = sha1("$password");
    $data['status'] = $zt;
    $data['create_time'] = $time;

    //查询用户名是否存在
    $res = $db->select($table,'name');//查询数据库所有用户名
    $isin = in_array($name,$res); //在查询结果中查找用户名是否存在
    if ($isin){
      echo "<script>alert('您添加的用户名已经存在!');location.href='insert.php'</script>";
      exit();
    }
    //执行插入操作
    $stmt = $db->insert($table, $data);

    //查询受影响的记录数量
    $num = $stmt->rowCount();

    if ($num > 0) {
        echo "<script>alert('成功添加了{$num}条记录');location.href='insert.php'</script>";
    }
}

//模板渲染
$smarty->display('insert.html');
添加数据模板:insert.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加数据</title>
</head>
<body>
{include file="head.html"}
<form action="insert.php?act=get" method="post">
  <input type="hidden" name="create_time" value="{$smarty.now}">
  <table border="1" cellpadding="5" cellspacing="0" width="60%">
    <caption>
    <h2>添加用户</h2>
    </caption>
    <tr>
      <td width="100"> 用户名:</td>
      <td><input name="name" value="" type="text"></td>
    </tr>
    <tr>
      <td> 密码:</td>
      <td><input name="password" value="" type="password"></td>
    </tr>
    <tr>
      <td> 年龄:</td>
      <td><input name="age" value="" type="text"></td>
    </tr>
    <tr>
      <td> 性别:</td>
      <td><input name="sex" type="radio" value="0" checked />
        男
        <input name="sex" type="radio" value="1" />
        女</td>
    </tr>
    <tr>
      <td> 电子邮箱:</td>
      <td><input name="email" type="text" value=""></td>
    </tr>
    <tr>
      <td> 用户状态:</td>
      <td><input name="status" type="radio" value="1" checked />
        启用
        <input name="status" type="radio" value="0" />
        禁用</td>
    </tr>
    <tr>
      <td></td>
      <td><input type="submit" value="提交">
      </td>
    </tr>
  </table>
</form>
</body>
</html>
查询数据:search.php

<?php
/**
 * 查询数据
 */

//引入smarty配置
include __DIR__.'/config/config.php';

//连接数据库
require __DIR__.'/medoo/conn.php';

$rows =[];
@$act = $_REQUEST['act'];
if($act=='so') {
    //设置表名 要查询的数据
    $table = 'user';
    $data = ['user_id','name','sex','age','email','create_time'];

    //接收表单传过来的数据
    $sel = $_REQUEST['sel'];
    $name = $_REQUEST['name'];
    $age = $_REQUEST['age'];
    @$sex = $_REQUEST['sex'];

    //性别不为空
    if ($sex !='') {
        //性别不为空 姓名不为空
        if ($name != '') {
            //性别不为空 姓名不为空 年龄不为空
            if ($age != '') {
                if ($sel == '='){
                    $where = ['AND' => ['name' => $name, 'age' => $age, 'sex' => $sex]];
                }elseif ($sel == '>'){
                    $where = ['AND' => ['name' => $name, 'age[>]' => $age, 'sex' => $sex]];
                }else{
                    $where = ['AND' => ['name' => $name, 'age[<]' => $age, 'sex' => $sex]];
                }
            //性别不为空 姓名不为空 年龄为空
            }else {
                $where = ['AND' => ['name' => $name, 'sex' => $sex]];
            }
        //性别不为空 姓名为空
        } else {
            //性别不为空 姓名为空 年龄不为空
                if ($age != '') {
                    if ($sel == '=') {
                        $where = ['AND' => ['age' => $age,'sex'=>$sex]];
                    } elseif ($sel == '>') {
                        $where = ['AND' => ['age[>]' => $age,'sex'=>$sex]];
                    } else {
                        $where = ['AND' => ['age[<]' => $age,'sex'=>$sex]];
                    }
                //性别不为空 姓名为空 年龄为空
                } else {
                    $where = ['sex'=>$sex];
                }
        }
    //性别为空
    }else {
        //性别为空  姓名不为空
        if ($name != '') {
            //性别为空  姓名不为空 年龄不为空
            if ($age != '') {
                if ($sel == '=') {
                    $where = ['AND' => ['age' => $age,'name'=>$name]];
                } elseif ($sel == '>') {
                    $where = ['AND' => ['age[>]' => $age,'name'=>$name]];
                } else {
                    $where = ['AND' => ['age[<]' => $age,'name'=>$name]];
                }
            //性别为空  姓名不为空 年龄为空
            } else {
                $where = ['name'=>$name];
            }
        //性别为空  姓名为空
        }else{
            //性别为空  姓名为空 年龄不为空
            if ($age != '') {
                if ($sel == '=') {
                    $where = ['age' => $age];
                } elseif ($sel == '>') {
                    $where = ['age[>]' => $age];
                } else {
                    $where = ['age[<]' => $age];
                }
                //性别为空  姓名为空 年龄为空
            } else {
                $where = '';
            }

        }
    }
    // 执行查询操作
    $res = $db->select($table,$data,$where);
    //遍历结果集
    foreach ($res as $row){
       $rows[] = $row;
    }

//进行模板变量替换
    $smarty->assign('rows',$rows);
}

$smarty->assign('act',$act);

//模板渲染
$smarty->display('search.html');
查询数据模板:search.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>查询数据</title>
</head>
<body>
{include file="head.html"}
<form action="search.php?act=so" method="post">

    <table border="1" cellpadding="5" cellspacing="0" align="center" width="60%">
        <caption>
            <h2>用户查询</h2>
        </caption>
        <tr>
            <td width="100">用户名:</td>
            <td><input type="text" name="name" value="">
            </td>
        </tr>
        <tr>
            <td>性别:</td>
            <td><input name="sex" type="radio" value="0" />男
 <input name="sex" type="radio" value="1" />女
 </td>
        </tr>
        <tr>
            <td>年龄:</td>
            <td><select name="sel">
                <option value="=">=</option>
                <option value=">">></option>
                <option value="<"><</option>
            </select>
                <input name="age" type="text" value="" />
            </td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" value="提交">  <input type="reset" value="清除所有条件">
            </td>
        </tr>
    </table>
</form>
<br><br>

{if $act eq 'so'}
<table border="1" cellpadding="5" cellspacing="0" align="center" width="60%">
    <caption><h2>用户信息表</h2></caption>
    <tr bgcolor="#90ee90">
        <th>ID</th>
        <th>姓名</th>
        <th>性别</th>
        <th>年龄</th>
        <th>邮箱</th>
        <th>入职时间</th>
    </tr>
    {foreach $rows as $row}
    <tr align="center">
        <td>{$row.user_id}</td>
        <td>{$row.name}</td>
        <td>{if $row.sex eq '0'}
            男
 {else}
            女
 {/if}
        </td>
        <td>{$row.age}</td>
        <td>{$row.email}</td>
        <td>{$row.create_time|date_format:"%Y/%m/%d %H:%M:%S "}</td>
    </tr>
    {foreachelse}
    <tr align="center"><td colspan="6"><h3>没有符合条件的数据</h3></td></tr>
    {/foreach}
</table>

{/if}
</body>
</html>
更改数据:update.php

<?php
/**
 * 更新操作
*/

//引入smarty配置
include __DIR__.'/config/config.php';

//连接数据库
require __DIR__.'/medoo/conn.php';

@$act=$_REQUEST['act'];

if ($act=='update'){
    //接收表单提交的值
    $sel = $_REQUEST['sel'];
    $name = $_REQUEST['name'];
    @$sex = $_REQUEST['sex'];
    $age = $_REQUEST['age'];
    $email= $_REQUEST['email'];

    //要更新的数据
    $table='user';

    //判断用户名是否为空
    if ($name ==''){
        echo "<script>alert('请填写用户名!');location.href='update.php'</script>";
        exit();
    //判断用户名是否在数据库有对应记录
    }else{
        $res = $db->select($table,'name');//查询数据库所有用户名
        $isin = in_array($name,$res); //在查询结果中查找用户名是否存在
        if (!$isin){
            echo "<script>alert('您要更新的用户名不存在!请重试!');location.href='update.php'</script>";
            exit();
        }
    }
    //性别不为空
    if ($sex !=''){
        //性别不为空 年龄不为空
        if ($age !=''){
            //性别不为空 年龄不为空 邮箱不为空
            if ($email !=''){
                if ($sel =='+'){
                    $data['email'] = $email;
                    $data['age[+]'] = $age;
                    $data['sex'] = $sex;
                }else{
                    $data['email'] = $email;
                    $data['age'] = $age;
                    $data['sex'] = $sex;
                }
            //性别不为空 年龄不为空 邮箱为空
            }else{
                if ($sel =='+'){
                    $data['age[+]'] = $age;
                    $data['sex'] = $sex;
                }else{
                    $data['age'] = $age;
                    $data['sex'] = $sex;
                }
            }

        //性别不为空 年龄为空
        }else{
            //性别不为空 年龄为空 邮箱不为空
            if ($email !=''){
                $data['email'] = $email;
                $data['sex'] = $sex;
            //性别不为空 年龄为空 邮箱为空
            }else{
                $data['sex'] = $sex;
            }
        }
    //性别为空
    }else{
        //性别为空 年龄不为空
        if ($age !=''){
            //性别为空 年龄不为空 邮箱不为空
            if ($email !=''){
                if ($sel =='+'){
                    $data['email'] = $email;
                    $data['age[+]'] = $age;

                }else{
                    $data['email'] = $email;
                    $data['age'] = $age;

                }
            //性别为空 年龄不为空 邮箱为空
            }else{
                if ($sel =='+'){

                    $data['age[+]'] = $age;

                }else{

                    $data['age'] = $age;

                }
            }
        //性别为空 年龄为空
        }else{
            //性别为空 年龄为空 邮箱不为空
            if ($email !=''){
                $data['email'] = $email;
            //性别为空 年龄为空 邮箱为空
            }else{
               echo "<script>alert('请填写更新信息!');location.href='update.php'</script>";
               exit();
            }
        }

    }

    //更新条件
    $where['name'] =$name;
    //执行更新操作
    $stmt = $db->update($table,$data,$where);
    $num = $stmt->rowCount();
    if ($num>0){
        echo "<script>alert('成功更新了{$num}条记录');location.href='update.php'</script>";
    }

}

//模板渲染
$smarty->display('update.html');
更改数据模板:update.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>更新数据</title>
</head>
<body>
{include file="head.html"}
<form action="update.php?act=update" method="post">

    <table border="1" cellpadding="5" cellspacing="0" align="center" width="60%">
        <caption>
            <h2>用户信息修改</h2>
        </caption>
        <tr>
            <td width="100">用户名:<br>(条件,必填)</td>
            <td><input type="text" name="name" value="">
            </td>
        </tr>
        <tr>
            <td>性别:</td>
            <td><input name="sex" type="radio" value="0" />男
 <input name="sex" type="radio" value="1" />女
 </td>
        </tr>
        <tr>
            <td>年龄:</td>
            <td><select name="sel">
                <option value="">=</option>
                <option value="+">+</option>
            </select>
                <input name="age" type="text" value="" />
            </td>
        </tr>
        <tr>
            <td>邮箱:</td>
            <td><input name="email" type="text" value="" />
            </td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" value="提交">  <input type="reset" value="清除所有条件">
            </td>
        </tr>
    </table>
</form>
</body>
</html>
删除数据:delete.php

<?php
/**
 * 删除数据
 */
//引入smarty配置
include __DIR__.'/config/config.php';

//连接数据库
require __DIR__.'/medoo/conn.php';

@$act=$_REQUEST['act'];

if ($act=='del') {
    //接收表单传过来的数据
    $id = $_REQUEST['id'];
    $aqm = $_REQUEST['aqm'];
    //验证安全码
    if ($aqm !='php'){
        echo "<script>alert(' 安全码不正确!请重试!');location.href='delete.php'</script>";
        exit();
    }

    //设置表名
    $table = 'user';
    $where['user_id'] = $id;

    //判断id是否为空
    if ($id ==''){
        echo "<script>alert('请填写用户ID!');location.href='delete.php'</script>";
        exit();
    //判断id是否在数据库有对应记录
    }else{
        $res = $db->select($table,'user_id');//查询数据库所有用户ID
        $isin = in_array($id,$res); //在查询结果中查找用户ID是否存在
        if (!$isin){
            echo "<script>alert('您要删除的用户ID不存在!请重试!');location.href='delete.php'</script>";
            exit();
        }
    }
    //执行删除操作
    $stmt= $db->delete($table,$where);
    $num=$stmt->rowCount();
    if ($num>0){
        echo "<script>alert('成功删除了{$num}条记录');location.href='delete.php'</script>";
    }
}


$smarty->display("delete.html");
删除数据模板:delete.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>删除用户</title>
</head>
<body>
{include file="head.html"}
<form action="delete.php?act=del" method="post">

    <table border="1" cellpadding="5" cellspacing="0" align="center" width="60%">
        <caption>
            <h2>用户删除</h2>
        </caption>
        <tr>
            <td width="100">用户id:<br>(条件,必填)</td>
            <td><input type="text" name="id" value="">
            </td>
        </tr>
        <tr>
            <td width="100">安全码:</td>
            <td><input type="text" name="aqm" value="">(为避免误操作,安全码为必填,安全码默认为:php)
            </td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" value="提交">
            </td>
        </tr>
    </table>
</form>
</body>
</html>
里面用了大量的if  else嵌套,是否有更简单高效的处理函数,请老师指点,谢谢,
演示地址:http://demo.lidiy.cn

Correcting teacher:韦小宝Correction time:2019-02-22 11:53:00
Teacher's summary:不错不错 写的很棒 代码也很完整!!

Release Notes

Popular Entries