`

TP5 用户的页面操作

阅读更多

测试数据:

CREATE TABLE IF NOT EXISTS `tb_user` (
  `id` int(8) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `password` varchar(255) DEFAULT NULL,
  `logintime` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

INSERT INTO `tb_user` (`id`, `name`, `password`, `logintime`) VALUES
(1, 'aaa', '123456', '2017-07-24 18:07:47'),
(2, 'bbb', '123456', '2017-07-24 18:03:22'),
(3, 'ccc', '123456', '2017-07-24 18:08:25');

 

控制器:

<?php
namespace app\index\controller;
use think\Controller;
use think\Session;
class Index extends Controller
{
	protected $beforeActionList = [
       'gosession' =>  ['except'=>'login,login_all'], //tp前置方法,不管执行那个方法,都要先执行gosession , 除了login,login_all方法
    ];
    //定义前置控制器
    public function gosession()
    {   
        $id=Session::get('id');
    	if(!$id)
    	{
    		$this->error('请先登录','login');
    	}
    }
    //用户管理首页, 登录成功后的页面
    public function index()
    {
        $db = db('user');
    	$data = $db->select();
		return $this->fetch('index',['data'=>$data]);
    }
    //退出登录
    public function login_out()
    {
    	session::clear();
        $this->success('退出成功','login');
    }
    //登录页面
    public function login()
    {
    	return $this->fetch('login');
    }
    //用户登录方法
    public function login_all()
    {
    	$db = db('user');
    	$name = input('post.name');
     	$password = input('post.password');
        // 查询数据
		$list = $db->where(['name'=>$name,'password'=>$password])->find();
        //如果存在就存入session,并且跳转首页
		if($list)
		{	
			Session::set('name',$name);
			Session::set('id',$list['id']);
			$db->where(['name'=>$name,'password'=>$password])->update(['logintime'=>date("Y-m-d H:i:s")]);
			$this->redirect('index');
		}else{
			$this->error('登录失败','login');
		}
    }
    //用户添加页面
    public function add()
    {
    	return $this->fetch('add');
    }
    //用户添加方法
    public function add_all()
    {
        $name = input('post.name');
        $password = input('post.password');
        $db = db('user');
        //添加用户
        $list = $db->insert(['name' => $name, 'password' => $password]);
        //判断添加用户是否成功
        if($list){
            $this->success('添加成功!','index');
        }else{
            $this->error('添加错误!','index');
        }
    }
    //用户修改页面
    public function update($id)
    {     
        $db = db('user');
        $data = $db->where(['id'=>$id])->find();
    	return $this->fetch('update',['data'=>$data]);
    }
    //用户修改方法
    public function update_all()
    {
        $db = db('user');
        $name = input('name');
        $id = input('id');
        $password = input('password');
        $upd = $db->where(['id'=>$id])->update(['name'=>$name,'password'=>$password]);
        if($upd){
            echo '修改成功';
            $this->redirect('index');
        }else{
            echo '修改失败';
        }
    }
    //删除用户方法
    public function delete($id)
    {
        $db = db('user');
        $del=$db->where(['id' => $id])->delete();
        $this->redirect('index');
    }
}

 

视图->用户登陆:

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>用户登陆</title>
</head>
<body>
<h3>用户登陆</h3>
<form method="post" action="{:url('login_all')}">  
	<input type="text" required="required" placeholder="用户名" name="name"></input>  
	<input type="password" required="required" placeholder="密码" name="password"></input>  
	<button type="submit">登录</button>  
</form>
</body>
</html>

效果图:

 

视图->显示用户列表:

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>显示用户列表</title>
</head>
<body>
<h3>welcome:<font style=" color: red;">{$_SESSION['think']['name']} <a href="{:url('login_out')}">退出登录</a></font></h3>
<table>  
	<caption>用户管理</caption>   
	<tr>  
		<th>ID</th>
		<th>用户名 </th>
		<th>登录时间</th>
		<th>操作</th>
	</tr>
	{volist name="data" id="vo"}
	<tr>  
		<td>{$vo.id}</td>
		<td>{$vo.name}</td>
		<td>{$vo.logintime}</td>
		<td><a href="add">添加</a>|<a href="{:url('update')}?id={$vo.id}">修改</a>|<a href="{:url('delete')}?id={$vo.id}">删除</a></td>
	</tr>
	{/volist} 
</table> 
</body>
</html>

效果图:

 

视图->添加用户:

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>添加用户</title>
</head>
<body>
<h3>添加用户</h3>
<form method="post" action="{:url('add_all')}">  
	<input type="text" required="required" placeholder="用户名" name="name"></input>  
	<input type="password" required="required" placeholder="密码" name="password"></input>  
	<button type="submit">提交</button>
</form>	
</body>
</html>

效果图:

 

视图->修改用户:

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>修改用户</title>
</head>
<body>
<h3>修改用户ID:{$data['id']}</h3>
<form method="post" action="update_all">  
	<input type="text" required="required" placeholder="用户名" name="name" value="{$data['name']}"></input>  
	<input type="password" required="required" placeholder="密码" name="password"></input>
	<input type="text" hidden="false" name="id" value="{$data['id']}">  
	<button type="submit">提交</button>  
</form>  
</body>
</html>

 效果图:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 6.9 KB
  • 大小: 10.9 KB
  • 大小: 16.9 KB
  • 大小: 17.7 KB
1
1
分享到:
评论

相关推荐

    664_tp5后台_thinkphp5后台模板+权限管理_tp5后台饼图_

    在TP5中,可以通过模型、控制器和视图三者配合,实现文章的CRUD(Create, Read, Update, Delete)操作,并可添加如分类、标签、搜索、排序等高级功能,提高内容管理的效率。 5. 饼图展示:在描述中提到了"tp5后台...

    TP5 请求信息和页面跳转

    标题 "TP5 请求信息和页面跳转" 涉及的是PHP框架ThinkPHP5(简称TP5)中的两个核心概念:请求(Request)处理和页面重定向(Redirect)。在TP5中,这两个概念是构建Web应用程序的基础部分,帮助开发者更好地控制用户...

    TP5 修改消息提示页面

    标题 "TP5 修改消息提示页面" 指的是在基于ThinkPHP5(TP5)框架的应用中,如何自定义或修改系统默认的消息提示界面。TP5是一个流行的PHP框架,广泛用于快速开发Web应用。在开发过程中,用户交互的反馈通常会通过...

    tp5框架完整版

    5. **视图(View)**:视图层负责展示数据,与控制器交互,支持模板引擎,方便设计和渲染页面。 6. **控制器(Controller)**:控制器层负责接收请求,处理业务逻辑,调用模型并返回响应给视图。 三、主要功能 1. *...

    TP5练手项目

    2. TP5路由:学习如何配置和使用TP5的路由规则,以便正确导航到不同的页面和功能。 3. 模型操作:熟悉数据库操作,如CRUD(创建、读取、更新、删除),以及模型的关联关系设置。 4. 视图模板:了解如何创建和使用...

    漂亮 TP框架表单提交跳转页面

    从“标签”中的“跳转页面”来看,这个主题特别关注的是在TP框架下如何优雅地处理表单提交后的页面跳转,包括在不同业务场景下的正确跳转策略,以及如何利用TP的辅助方法提升用户体验。 综上所述,"漂亮 TP框架表单...

    TP5后台权限管理系统.rar

    此外,TP5提供了丰富的中间件(Middleware)机制,可以用来实现权限拦截,例如在用户访问某个页面之前进行权限验证。通过定义和注册中间件,我们可以在不影响核心业务逻辑的情况下,轻松地添加权限控制层。 总的来...

    TP5+bootstrap3登录注册

    TP5强调简洁、快速的开发,支持命令行工具,内置了大量实用的助手函数,以及强大的数据库操作和事务处理能力。此外,TP5还支持自动路由、依赖注入、事件系统等现代Web开发特性。 **Bootstrap3:** Bootstrap3是...

    TP5的PHPExcel包实现导入导出功能

    标题 "TP5的PHPExcel包实现导入导出功能" 涉及到的是使用ThinkPHP5(简称TP5)框架结合PHPExcel库来处理Excel文件的导入和导出操作。这是一个常见的需求,特别是在数据处理、报表生成或者用户数据上传场景中。下面...

    tp5开发手册

    ThinkPHP5开发手册是一个全面的指南,不仅介绍了ThinkPHP的架构、配置、编程模型、数据库操作和模板引擎等核心内容,还涉及了安全、调试、缓存、扩展和部署等高级话题。学习这份手册,可以帮助开发者快速掌握...

    tp5+avant响应式布局实战

    【标题】"TP5+Avant响应式布局实战"是一个关于使用ThinkPHP5...通过这个实战教程,开发者可以掌握如何在TP5环境中有效利用Avant构建具有现代化用户体验的Web应用,同时加深对前后端协作的理解,提升项目开发效率。

    tp5权限控制.rar

    在描述中提到的"tp5权限控制Auth",Auth是ThinkPHP5内建的一个认证和授权组件,用于处理用户身份验证和权限判断。通过Auth,开发者可以方便地实现如用户登录、权限分配、角色管理等功能。这个压缩包可能包含了完整的...

    基于最新layui的tp5的后台

    此外,TP5的模型层提供了ActiveRecord模式,让数据库操作变得简单,如CRUD(创建、读取、更新、删除)等操作只需要几行代码即可完成。 Layui的引入,为后台界面带来了现代感和专业感。Layui提供了一套完整的表格、...

    tp5 支付宝支付demo

    这些信息将返回给前端,由用户进行支付操作。 5. **支付回调处理** 支付成功后,支付宝服务器会向你设定的回调URL发送通知,称为"同步通知"。你需要在项目中设置一个接收这个通知的接口,验证通知的合法性(通过...

    TP5结合gatewayworker实现一对一即时来聊天

    在TP5中,这可能通过控制器操作数据库,获取用户的联系人列表,再由视图渲染成用户友好的界面。 6. **未读消息数量显示**:这是一个常见的用户体验优化功能,帮助用户了解哪些对话有新的未读消息。这通常需要后台...

    tp5精美博客前端

    标题中的"tp5精美博客前端"指的是基于ThinkPHP5(简称tp5)框架开发的一款精美的博客前端系统。ThinkPHP5是中国最流行的PHP框架之一,它提供了强大的MVC(Model-View-Controller)架构,方便开发者快速构建Web应用。...

    童老师tp5企业级开发(含auth控制器.zip

    Auth类库是tp5框架内用于用户权限验证的工具,它可以对用户的操作进行权限判断,例如检查用户是否有权限访问某个页面、执行某个操作。通过使用auth控制器,开发者可以构建一套完整的权限管理系统,实现用户角色、...

    TP5后台管理系统.rar

    4. **数据库操作**:TP5提供了ORM(对象关系映射)支持,简化了SQL操作,方便进行数据的增删改查。 5. **模板引擎**:用于生成动态HTML,提高页面渲染效率,同时保持代码结构清晰。 此外,系统的开发过程中还可能...

Global site tag (gtag.js) - Google Analytics