最近使用thinkphp简单的开始做一个登录验证,因为不熟悉,所以做了几个晚上
话不多说,先上代码:
IndexController.class.php
<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
/*
* 用户登录
* @sjj
*/
public function index(){
if(IS_POST){
$login=D('Index');
$where=array();
$where['user'] = $_POST['user'];
$result = $login->where($where)->field('id,user,pwd,role')->find();
//验证用户名对比密码
if($result && $result['pwd'] == $_POST['pwd']){
if($result['role']==1){
$this->success('普通用户登录成功!');
}else if($result['role']==2){
$this->success('超级用户登录成功!');
}else{
$this->error('登录失败');
}
}else{
$this->error('密码账号错误');
}
}else{
$this->display('login');
}
}
/*
* 用户注册
* @sjj
*/
public function register(){
// 判断提交方式 做不同处理
if (IS_POST) {
$user=D('Index');
$data=array();
$data['user']=$_POST['user'];
$data['pwd']=$_POST['pwd'];
$data['role']=$_POST['role'];
$result = $user->add($data);
/*if (!$data = $user->create()) {
// 防止输出中文乱码
header("Content-type: text/html; charset=utf-8");
exit($user->getError());
}*/
if($result){
$this->success('注册成功');
}else{
$this->error('注册失败');
}
}else{
$this->display();
}
}
}
简单的前端页面:
<!DOCTYPE html>
<html>
<head>
<title>登陆页面</title>
</head>
<body>
<form action="__SELF__" method="post">
<div class="form-group has-feedback">
<input type="text" name="user" class="form-control" placeholder="用户名" />
<span class="glyphicon glyphicon-leaf form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<input type="password" name="pwd" class="form-control" placeholder="密码" />
<span class="glyphicon glyphicon-credit-card form-control-feedback"></span>
</div>
<button type="submit" >登录</button>
</form>
<a href="{:U('Home/Index/register')}" class="text-center">注册新用户</a>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>注册页面</title>
</head>
<body>
<div class="register-box-body">
<p class="login-box-msg">注册一个新用户</p>
<form action="__SELF__" method="post">
<div class="form-group has-feedback">
<input type="text" name="user" class="form-control" placeholder="用户名" />
</div>
<div class="form-group has-feedback">
<input type="password" name="pwd" class="form-control" placeholder="密码" />
</div>
<div class="form-group has-feedback">
<input type="text" name="role" class="form-control" placeholder="权限" />
</div>
<div class="col-xs-4">
<button type="submit">点击注册</button>
</div><!-- /.col -->
</div>
</form>
</body>
</html>
我发现我缺陷是前端的东西不熟悉,导致后台的操作完成之后无法实现,从而不会debug。
所以我练习代码之前,重温了几个标签才慢慢摸清了thinkphp。
thinkphp的MVC:在我认为有C→ V、M→ C→ V、M←C→ V这几种形式调用。
具体的调用方法我还没清晰,希望各路大神能指点指点。