欢迎光临
未来你我一起携手

thinkphp实战,从0开始抄代码 我的OA开发笔记[1]

在看了一些文档之后,果断开始学着写一个OA系统。哈哈,另外找了一个好看的模版。关于在登录验证这一块我是这样写的

public function login(Request $request)
	{
		if (!Request::instance()->isPost()) {return "请使用POST提交。";}
		$msg=array(
		'code'=>0,
		'msg'=>'error',
		'url'=>'url',
		);
		$username=trim(input('post.username'));
		$passwd=md5(trim(input('post.password')));
		$list = Db::name('userinfo')->where('username', $username)->select();
		if($list==null){
			$msg['msg']="用户名错误";
			return json_encode($msg);
			}else{
			if($passwd==$list[0]['passwd']){
				$msg['msg']="登录成功";
				$msg['code']=1;
				$msg['url']="admin/main";
				Session::set('username',$username);
				return json_encode($msg);
			}else{ 
				$msg['msg']="用户名密码错误";
				return json_encode($msg);
			}
		}
	}

首先是禁止GET提交,使用了POST提交。然后使用内置的input助手来获取用户提交的参数。另外,在这里我使用了trim过滤了一些字符。然后紧接着就是做了一些查询操作。在这里我的返回是用了一个json格式。然后在首页我使用了ajax请求,根据返回的code值来判断是该跳转还是该直接alert提示用户。另外,注意了。我在这里使用了session来保存我的用户名。还有使用了路由功能来简化了URL。至此登录已经完成。另外是我的控制面板。先看我的首页代码

public function index()
    {
		if(!Session::has('username')){return $this->error("请先登录!","/admin");}
		return $this->fetch();
    }
	public function logout()
	{
		@Session::clear();
		$this->success("您已成功退出","/admin");
	}

这里我做了一个判断,判断session的username是否被赋值。如果没有,则表示已经退出状态或者是没有登录的状态。然后使用自带的错误页面进行提示与跳转。另外这个logout就是退出。这里清空了session。在实际的开发过程中,我还是决定使用user模型来存储一些数据。先看下我的控制面板吧

这里的本来是要用assign来渲染的。但是如果一个个的这样渲染。肯定是很丑很丑的了。所以我在模版里做了改动。核心代码是{$Think.session.username}。这里的username就是你之前自己设置的session值。大家可以看我前面的代码Session:set(‘username’,$username);然后的话,这里肯定还有很多的东西要展示。所以我们还是得想办法来简化这样的代码。使他看起来美观。另外。这里的网站名字我们得另外取一张表了。因为我们还需要获取系统的配置信息。我创建表了哦。我添加了几个字段。分别代表着:

现在开始写入配置信息。手工插入哈。现在开始获取哈。我们还需要借助thinkphp提供的标签用法。具体请看文档https://www.kancloud.cn/manual/thinkphp5/118003,先改一下首页模版吧。看着太多东西了。压力有点大。

[未完待续。得去休息啦]

未经允许不得转载:卧栏听雨 » thinkphp实战,从0开始抄代码
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址