源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Laravel实现用户注册和登录

  • 时间:2020-04-22 21:18 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Laravel实现用户注册和登录
Laravel身为最优雅的PHP框架,很多学习PHP的小伙伴造就对Laravel垂涎欲滴。今天就来实现你的愿望,让我们一起从零开始,利用Laravel实现Web应用最常见的注册和登录功能!所有的课程源码已放在Github上:laravel-start. Race Start ! 首先我们来明确一下我们这个课程需要的东西: Laravel 4.2 Bootstrap 3.3 Laravel就是我们关心的核心部分,Bootstrap用来快速设置一些前端的CSS样式。 [b]1.安装Laravel[/b] 简单说明之后我们来进入下一步,安装Laravel,在这我们是通过Composer来安装,打开命令行终端,执行:
[url=/]                 </div>                 <ul class="nav navbar-nav navbar-right hidden-sm">                     <li>{{ HTML::link('users/register', '注册') }}</li>                     <li>{{ HTML::link('users/login', '登陆') }}</li>                 </ul>             </div>         </div> </body>
上面只是引用了一些简单的Bootstrap的class,也没什么难的,不用伤心。 到这里基本的功用部分就结束了,但是我们的追求从不会这么low,所以为了更好地与用户交互,我们希望在用户进行某个操作之后给出一些反馈,比如注册成功的时候说:少年,你已成功注册本站,恭喜恭喜。等,于是乎,我们再为main.blade.php添加一点点代码: 为了现实这些反馈信息给用户,我们得使用Session::get('message')方法,当然,我们得首先从逻辑上判断一下这个message是否存在,所以这里用了一个简单的if判断。 在blade引擎的视图中if 的使用格式是
[url=http://localhost:8000/users/register]http://localhost:8000/users/register[/url] 见证奇迹吧。是不是很爽!哈哈哈。 [img]http://files.jb51.net/file_images/article/201501/201501231145497.png[/img] 如果现在你在这个注册表单添上相应的注册信息,然后点击注册的话,你会得到一个意外的错误:NotFoundHttpException!那是因为我们还没有为注册表单写提交地址:users/create。所以我们自然要来到UsersController中,为其添上postCreate():
[url=http://localhost:8000/users/register]http://localhost:8000/users/register[/url]你可以试着输入你的用户名,邮箱,密码来注册一个,当然你也可以故意输错,看看会有什么信息返回给你。enjoy! 正常情况下,你注册完之后就吼跳到登录界面(已经写好了),但是我们在登录的时候也需要验证,如果你仔细看上面的login.blade.php的话,你会发现我们在这里将用户的登录表单提交地址设置为 'url'=>'users/signin',所以接下来的一步就是为UsersController补充postSignin()方法:
[url= 写到这里我们还不能登录,因为在Laravel中auth过滤(filter)会默认将没登录的用户重定向到/login,但我们需要的是重定向到users/login,所以我们需要自定义我们的filter规则,打开app/filter.php,在代码的开始加上下面的代码:
[url=http://localhost:8000/users/login]http://localhost:8000/users/login[/url] 尝试登录一下,你会发现:Bingo!!!登录进去了! [img]http://files.jb51.net/file_images/article/201501/201501231145498.png[/img] 9.实现退出 但是细心的你发现了没,我们还有一个需要完善的地方.....没错!就是我们的导航,我们已经登录进去了,它还是显示登录和注册,不科学啊!所以回到最初我们的main.blade.php在链接部分我们将它改为:
[u]复制代码[/u] 代码如下:
          <ul class="nav navbar-nav navbar-right hidden-sm">           @if(!Auth::check())                <li>{{ HTML::link('users/register', '注册') }}</li>                <li>{{ HTML::link('users/login', '登陆') }}</li>             @else             <li>{{ HTML::link('users/logout', '退出') }}</li>             @endif             </ul>
没错,我们为导航这里加入了条件判断语句,如果用户没有通过Auth::check(),也就是没有登录的话,我们显示登录和注册,如果登录了就显示退出, [img]http://files.jb51.net/file_images/article/201501/201501231145499.png[/img] 既然有了users/logout这个链接,那么我们就会想到在UsersController写这个getLogout()方法,而且这个方法是负责清理用户的登录信息的,所以:
[u]复制代码[/u] 代码如下:
public function getLogout() {         if(Auth::check())         {             Auth::logout();         }     return Redirect::to('users/login')->with('message','你现在已经退出登录了!');     }
这里我们Auth::logout()将用户的登录信息(主要就是session信息)清除掉,然后再将用户重定向到登录界面。 [b]10.最后的最后[/b] 这个小教程写到这里就基本结束了,希望各位玩的愉快。最后多说一句:编程是我们最容易学习的超能力,永远要相信自己可以改变世界!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部