ThinkPHP之用户注册登录留言完整实例
ThinkPHP  /  管理员 发布于 9年前   171
本文以实例形式讲述ThinkPHP实现的包括用户的注册、登录以及留言等功能,这里需要大家注意的是,在存在用户模型的情况下实例化一个用户类的时候使用D方法来实现。 IndexAction.class.php页面: ContentModel.class.php页面: UserModel.class.php页面: {$message}
UserActiion.class.php页面:create();$result = $user->add();if($result){$this->assign("jumpUrl","__APP__/index/index");$this->success('注册成功!');}else{//echo $user->getError();$this->assign("jumpUrl","__APP__/user/register");$this->error($user->getError());}}public function register(){$this->display();}public function login(){$this->display();}public function checklogin(){$username = $_POST['username'];$passwd = $_POST['passwd'];$user = D("user");//$User->where('id=8')->find();这里的where 语句要注意一下,如果是其他字段的话后面一定要有单引号$userinfo = $user->where("username ='$username'")->find();if(!empty($userinfo)){if($userinfo['passwd'] == $passwd){Cookie::set('userid',$userinfo['id'],time()+3600*24);Cookie::set('username',$username,time()+3600*24);Cookie::set('lastlogintime',time(),time()+3600*24);$this->assign("jumpUrl","__APP__/index/index");$this->success('登陆成功!');}else{$this->assign("jumpUrl","__APP__/user/login");$this->error('密码出错,请重新输入!');}}else{$this->assign("jumpUrl","__APP__/user/login");$this->error('用户名不存在!');}}public function loginout(){Cookie::delete('username');Cookie::delete('lastlogintime');$this->assign("jumpUrl","__APP__/index/index");$this->success('您已经成功退出,欢迎您的下次登录!');}} create();if(!$result){$this->assign("jumpUrl","/index/art/index");$this->error($content->getError());//如果创建失败,表示验证没有通过,输出错误信息}else{//验证通过,进行其他操作$content->userid=Cookie::get('userid');$content->add();$this->assign("jumpUrl","/index/art/index");$this->success('添加成功!');}} // 数据查询操作 public function index() {$content = new ContentModel();$list = $content->findAll(); //用户的cookie$username = Cookie::get('username');$lastlogintime = Cookie::get('lastlogintime');$this->assign('list',$list); $this->assign('title','我的首页');$this->assign('username',$username);$this->assign('lastlogintime',$lastlogintime);$this->display(); } // 删除操作public function delete(){$content = new ContentModel();$id = $_GET['id'];if($content->where("id=$id")->delete()){$this->assign("jumpUrl","/index/art/index");$this->success('删除成功!');}else{$this->assign("jumpUrl","/index/art/index");$this->error('删除失败!');}} // 编辑操作public function edit(){$content = new ContentModel();$id = $_GET['id'];if($id != ''){//$data = $content->select($id);$data = $content->where("id=$id")->select();if(!empty($data)){$this->assign('data',$data);}else{echo "数据为空!";}}$this->assign('title','编辑页面');$this->display();}// 更新操作public function update(){$content = new ContentModel();//直接使用create(),自动会帮你进行数据的传值/*$content->create();$content->save(); // 根据条件保存修改的数据echo "更新数据成功!";*/// 使用post 传值过来,进行更新$id = $_POST['id'];if($id != ''){$data['id'] = $id;$data['title'] = $_POST['title'];$data['content'] = $_POST['content'];if($content->save($data))// 根据条件保存修改的数据{$this->assign("jumpUrl","/index/art/index");$this->success('更新数据成功!');}else{$this->assign("jumpUrl","/index/art/index");$this->success('更新数据失败!');}}else{echo "保存数据失败!";}}}?>
这里需要注意的是,使用自动验证的时候 实例化时要用 $user = D("user") 而不能用 $user = M("user"),用M这种方法会报错,D函数用于实例化Model,M函数用户实例化一个没有模型的文件。
success.html页面:信息提示
2秒后返回指定页面!
如果浏览器无法跳转,请点击此处。您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号
