[thinkPHP5项目实战_21]管理员添加、删除和修改
与之前的业务一样,管理员的添加和删除代码如下:
1.新建admin的控制器、视图和验证器文件:
2.控制器代码:
<?php
namespace appadmincontroller;
use thinkController;
class Admin extends Controller
{
public function lists()
{
$adminres = hinkDb::name("admin")->paginate(3);
$this->assign("adminres",$adminres);
return $this->fetch();
}
public function add()
{
if(request()->isPost()){
$data = [
"username"=>input("username"),
"password"=>input("password"),
];
$validate = hinkLoader::validate("Admin");
if($validate->check($data)){
$data["password"] = md5($data["password"]);
$res = hinkDb::name("admin")->insert($data);
if($res){
return $this->success("管理员成功","lists");
}else{
return $this->error("管理员失败");
}
}else{
//验证失败输出提示信息
return $this->error($validate->getError());
}
return;
}
return $this->fetch();
}
public function del()
{
$id=input("id");
if($id==1){
return $this->error("初始管理员不能删除!");
}else{
if(db("admin")->delete($id)){
return $this->success("删除管理员成功","lists");
}else{
return $this->error("删除管理员失败");
}
}
}
public function edit()
{
//获取修改的信息
$id=input("id");
$admins = db("admin")->find($id);
$this->assign("admins",$admins);//模板赋值
//修改后提交
if(request()->isPost()){
$data=[
"id"=>input("id"),
"username"=>input("username"),
"password"=>input("password"),
];
$validate = hinkLoader::validate("Admin");
if($validate->check($data)){
$data["password"] = md5($data["password"]);
$res = hinkDb::name("admin")->update($data);
if($res){
return $this->success("修改管理员成功","lists");
}else{
return $this->error("修改管理员失败");
}
}else{
return $this->error($validate->getError());
}
}
return $this->fetch();
}
}包含获取管理员列表、修改管理员和删除等方法。
另外,保留了一个管理员不能删除和对管理员的密码进行了md5加密,由于md5加密空后不为空,所以先进行空验证再加密
3.验证器代码
<?php
namespace appadminvalidate;
use thinkValidate;
class Admin extends Validate
{
//验证规则
protected $rule = [
"username" => "require|max:25|unique:admin",
"password" => "require|min:5",
];
//验证提示
protected $message = [
"username.unique" => "管理员名称不能重复",
"username.max" => "管理员名称不能大于5个字符",
"username.require" => "管理员名称必须",
"password.require" => "管理员密码必须",
"password.min" => "管理员密码不能少于5位",
];
}4.视图代码
4.1.添加管理员视图:
<form action="" method="post" id="myform" name="myform" enctype="multipart/form-data">
<table class="insert-tab" width="100%">
<tbody>
<tr>
<th width="10%">管理员名称:</th>
<td>
<input class="common-text required" id="username" name="username" size="50" value="" type="text">
</td>
</tr>
<tr>
<th>密码:</th>
<td>
<input class="common-text" name="password" size="50" value="" type="password">
</td>
</tr>
<tr>
<th></th>
<td>
<input class="btn btn-primary btn6 mr10" value="提交" type="submit">
<input class="btn btn6" onclick="history.go(-1)" value="返回" type="button">
</td>
</tr>
</tbody>
</table>
</form>4.2.管理员列表代码
<table class="table table-striped">
<thead>
<tr>
<th>ID</th>
<th>管理员名称</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{volist name="adminres" id="vo"}
<tr>
<td>{$vo.id}</td>
<td><a href="#" title="{$vo.username}">{$vo.username}</a></td>
<td>
<a href="{:url("edit",array("id"=>$vo.id))}">修改</a> {if condition="$vo.id neq 1"}
<a href="{:url("del",array("id"=>$vo.id))}" onclick="return confirm("确定删除该管理员?")">删除</a> {/if}
</td>
</tr>
{/volist}
</tbody>
</table>
<div>{$adminres->render()}</div>4.3.管理员编辑代码:
<form action="" method="post" id="myform" name="myform" enctype="multipart/form-data">
<input type="hidden" name="id" value="{$admins.id}">
<table class="insert-tab" width="100%">
<tbody>
<tr>
<th width="10%">管理员名称:</th>
<td>
<input class="common-text required" id="title" name="username" size="50" value="{$admins.username}" type="text">
</td>
</tr>
<tr>
<th>密码:</th>
<td>
<input class="common-text" name="password" size="50" value="" type="password">
</td>
</tr>
<tr>
<th></th>
<td>
<input class="btn btn-primary btn6 mr10" value="提交" type="submit">
<input class="btn btn6" onclick="history.go(-1)" value="返回" type="button">
</td>
</tr>
</tbody>
</table>
</form>5.数据库管理员字段结构:
另外,需要在侧边栏公共模板添加管理员管理导航。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: C语言变长数组(zz)
- 下一篇: C语言中变长数组的使用方法
