学了php 现在开始学thinkphp有几个问题非常不明白,

以前如果我要写登陆的话,直接写一个表单然后提交到一个页面,然后获取到密码和用户名之后就上数据库里比对,如果正确就跳转到一个界面,如果不正确就跳转登陆界面,那我在think... 以前如果我要写登陆的话,直接写一个表单然后提交到一个页面,然后获取到密码和用户名之后就上数据库里比对,如果正确就跳转到一个界面,如果不正确就跳转登陆界面,那我在thinkphp里应该怎么写?提交到哪里去?怎么获取post数据,判断之后怎么跳转? 展开
 我来答
堆砌的字符
2016-03-10 · TA获得超过167个赞
知道答主
回答量:63
采纳率:0%
帮助的人:62.9万
展开全部

tp的控制器和模型、还有路由先了解了吗?

先建立好对应的控制器和方法,再去建立好对应的视图。


比如说 现在有Home分组里面的Index控制,那你先建立一个login方法,并且做好视图,也就是对应的html文件。


再建立一个接收处理数据的方法,在方法里面接收到数据后,去数据库查找对比,如果正确,就给session并且跳转到另外一个页面,tp里面的session可以用session('名称','值')的函数方式。在另外一个界面,判断有没有session值,有就显示内容,没有就跳转到登录的页面。


tp里面获取post的数据用I('post.name值');


以3.2版本为例,写了一个大概的demo,数据表你自己要去建立。

这是控制器文件

namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {

//这个是登录视图对应的方法
    public function login(){
       $this->display();
    }

//这个是接受数据的方法
public function handle(){
$data = I('post.');

$userinfo = M('User')->where(array('username' => $data['username'], 'password' => md5($data['password'])))->find();

if ($userinfo) {
session('uid', $userinfo['id']);
$this->redirect('Index/index');
} else {
    $this->error('用户名或密码不正确!');
}
}

//这个是登陆后的页面对应的方法
public function index(){
if (session('uid')) {
echo '登录成功';
} else {
$this->redirect('Index/login');
}
}
}


这是视图文件

<form action="{:U('Index/handle')}" method="post">
帐号:<input name="username" type="text" />
密码:<input name="password" type="password" />
<input type="submit" value="登录">
</form>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式