thinkPHP5 更改管理员账号密码 删除管理员

controller文件内Admin.php

<?php
namespace app\admin\controller;
use think\Controller;
use app\admin\model\Admin as AdminModel;	//使用分页类 取别名解决类名冲突
class Admin extends Controller{
	public function lst(){
		
/*	分页开始	*/		
		$list = AdminModel::paginate(3);
		$this -> assign('list',$list);
/*	结束	*/		
		return $this->fetch('lst');

	}
	public function add(){
		//判断页面是否提交
		if(request()->isPost()){
			//打印接收到的参数
			//dump(input('post.')); 
			
			$data = [	//接受传递的参数
				'username' => input('username'),
				'password' => md5(input('password')),
			];				

/*验证开始*/
			$validate = \think\Loader::validate('Admin');
						/*	scene('add') 在add页面添加验证应用	*/
			if(!$validate -> scene('add')-> check($data)){
				/*	验证失败打印	*/
			    $this -> error($validate->getError());
				die;
			}
/*结束*/			

						
		/*	Db('表名') 数据库助手函数*/
			if(Db('admin') -> insert($data)){		//添加数据
				return $this->success('添加成功','lst');	//成功后跳转  lst 界面
			}else{
				return $this->error('添加管理员失败');
			}
			return;
		}
		return $this->fetch();
	}
/*	管理员修改账号或密码	*/	
	public function edit(){
		$id = input('id');//接受url传递的参数
		$admins = db('admin')->find($id);//查询数据库
		if(request()->isPost()){
			$data = [
				'id'=>input('id'),//接收到的主键
				'username'=>input('username'),
			];
			
	/*	如果接收到参数就修改,没有接受到参数就不修改(获取原来的值)	*/
			if(input('password')){
				$data['password'] = md5(input('password'));
			}else{
				$data['password'] = $admins['password'];
			}
	/*	验证数据	*/
			$validate = \think\Loader::validate('Admin');
			if(!$validate -> scene('edit')-> check($data)){
				/*	验证失败打印	*/
			    $this -> error($validate->getError());
				die;
			}
	/*	修改成功跳转	*/					
			if(db('admin')->update($data)){
				$this->success('修改管理员成功','lst');	
			}else{
				$this->error('修改管理员失败');
			}
			return;
		}
		
		
		$this->assign('admins',$admins);//把查询的值分配到页面当中
		return $this->fetch();
	}
	
/*	管理员删除	*/	
	public function del(){
		$id = input('id');//接收页面传递的id
		if ($id != 1) {	//如果id的值是 1 第一个录入系统的,初始化的管理员不能删除
			/*	根据id删除数据库数据	*/
			if (db('admin') -> delete(input('id'))){
				$this->success('删除管理员成功','lst');
			}else{
				$this->error('删除管理员失败');
			}			
		}else{
			$this->error('初始化管理员不能删除(第一个管理员)');
		}
	
	}
	
}




model文件内Admin.php

<?php
namespace app\admin\model;
use think\Model;
class Admin extends Model{
	
}


validate文件内Admin.php

<?php
namespace app\admin\validate;
use think\Validate;
class Admin extends Validate{
/*	数据验证开始	*/	
    protected $rule = [
        'username'  => 'require|min:6',
		'password' => 'require|max:32'
    ];
    protected $message  =   [
        'username.require' => '名称必须',
        'username.min'     => '名称最少6个字符',
        'password.require'   => '密码必须',
        'password.max'  => '密码最多不能超过25个字符',
    ];				
/*	结束	*/

/*	添加场景验证	*/
	protected $scene = [					
			/*
			 * 'add'  =>  ['username'=>'require','password'],
			 * 在add页面,只验证 username的require(必填),对别的不验证
			 */
			 
			 /*	在add页面添加验证用户名 username	密码password*/
	       'add'  =>  ['username','password'],
	       	/*	edit页面只需要验证用户名不为空	*/
	       'edit'  =>  ['username'=>'require'],
	       
	       
    ];
}

?>

view文件内lst.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>后台</title>
		<style type="text/css">
			table{
				width: 500px;
				margin: auto;
			}
		</style>
	</head>
	<body>
		<div>我是lst</div>
		<a href="{:url('admin/add')}">跳转add</a>
		<table border="1" cellspacing="" cellpadding="">
			<tr>
				<th>ID</th>
				<th>用户名</th>
				<th>操作</th>			
			</tr>
			<!--	循环数据    -->
			{volist name="list" id="vo"}
				<tr>
					<td>{$vo.id}</td>
					<td>{$vo.username}</td>
					<td>
						<!--跳转管理界面并在url后添加id参数-->
						<a href="{:url('admin/edit',array('id'=>$vo['id']))}">编辑</a>
						
						<!--
							thinkphp5 内置判断语句
							初始化的管理员(第一位id的值为1)
							删除按钮不显示
						-->
						{if condition="$vo['id'] neq 1"}
							<a href="{:url('admin/del',array('id'=>$vo['id']))}">删除</a>
						{/if}
					</td>				
				</tr>
			{/volist}	
		</table>
		<!--	分页器	-->
		{$list ->render()}
	</body>
</html>


view文件内edit.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>后台</title>
		<style type="text/css">
			h1{
				color: #f56868;
				text-align: center;
			}
		</style>
	</head>
	<body>
		<h1>我是edit 修改页面</h1>	
		<!--	action="" 值如果为空 提交到调用方法	-->
		<form role='form' action="" method="post">
			<!--向数据库发送主键-->
			<input type="hidden" id="id" value="{$admins.id}" />
			管理员用户名:<input type="text" name="username"  value="{$admins.username}" /><br /><br />
			管理员密码:<input type="text" name="password" />
			<input type="submit" value="提交"/>
		</form>
	

	</body>
</html>


  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值