热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Laravel实现用户注册和登录

本文详细给我们展示了使用Laravel实现用户注册和登录的方法和步鄹,需要的朋友可以参考下

本文详细给我们展示了使用Laravel实现用户注册和登录的方法和步鄹,需要的朋友可以参考下

Laravel身为最优雅的PHP框架,很多学习PHP的小伙伴造就对Laravel垂涎欲滴。今天就来实现你的愿望,让我们一起从零开始,利用Laravel实现Web应用最常见的注册和登录功能!所有的课程源码已放在Github上:laravel-start. Race Start !

首先我们来明确一下我们这个课程需要的东西:

Laravel 4.2
Bootstrap 3.3
Laravel就是我们关心的核心部分,Bootstrap用来快速设置一些前端的CSS样式。

1.安装Laravel

简单说明之后我们来进入下一步,安装Laravel,在这我们是通过Composer来安装,打开命令行终端,执行:

代码如下:


cd Sites

Sites就是web应用的根目录,你可以根据需要换成你自己的根目录,然后再执行:

代码如下:


composer create-project laravel/laravel laravel

laravel就是你的应用目录名,你可以取一个你喜欢的名字。执行上面的命令之后,等一段时间(毕竟在国内,网速是个大坑),安装完以后你会得到这一堆目录:

Laravel实现用户注册和登录

我们主要操作models和 controllers和 views这三个目录:这就是MVC的构成啊!

2.安装Bootstrap

然后再命令行执行:

代码如下:


cd laravel/public/packages

这里的laravel与上面的应用目录对应,如果你在安装的时候用了其他的名字,请对应换上。来到packages这个目录后安装Bootstrap,直接在命令行执行:

代码如下:


bower install bootstrap

这个比较快,然后等这个下载完之后你就会得到最新的稳定版Bootstrap。在目录packages目录下的 bower_components/bootstrap/dist/这里就包含了Bootstrap的css,js,fonts这三个我们在开发过程中经常用到的样式文件,js和字体文件。成功后你将看到这个:

Laravel实现用户注册和登录

注:这里使用的bower这个工具,它负责管理一些前端的包。
到这里,我们的前期工作已经准备好了。不过在进入下一步之前,我们得先确保我们的laravel/app/storage目录有相应的写入权限,所以回到laravel目录,如果你在安装完bower之后没动过命令行,可以直接通过:

代码如下:


cd ../../

回到laravel目录,然后在执行:

代码如下:


chmod -R 755 app/storage

这一步搞定之后我们就可以进入真正的开发阶段了。

3.配置数据库并建表:

在开始配置之前,我们要为我们的laravel应用创建一个数据库,我将它命名为laravel-start,

Laravel实现用户注册和登录

然后在编辑器中打开app/config/database.php文件,对相应的数据库配置项填入,如:

代码如下:


'default' => 'mysql',
// 数据库连接
'connections' => array(
'mysql' => array(
'driver' => 'mysql',
'host' => '127.0.0.1',
'database' => 'laravel-start',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),

连接完数据库之后,,还得创建一个Users表,你可以直接在数据库中创建Users表,也可以利用Laravel的artisan来创建,这里我们使用Laravel的artisan来建表,顺道了解一点点关于Laravel migrate的知识。执行下面语句:

php artisan migrate:make create-users-table
以上命令会创建一个migrate文件(文件位于app/database/migrations目录下),这个文件的名字就是create-users-table,然后我们可以通过编辑刚刚生成的migrate文件来创建Users表。

代码如下:


public function up() {
Schema::create('users', function($table){
$table->increments('id');
$table->string('username', 20);
$table->string('email', 100)->unique();
$table->string('password', 64);
$table->string('remember_token',62)->default('default');
$table->timestamps();
});
}

上面的方法使用了laravel的Schema Builder类,上面这段代码使用up()方法的创建一个users表,这个表里有5个字段:id自增 ,username长度20以内 ,email长度100以内并且是唯一的 ,password长度64以内 ,remember_token是为了在登录的时候更方便实用,Laravel会自动将token值填充进来,但在最开始你必须设一个默认值,timestamp当前的时间戳。在这我们需要注意的一点是:最好在down()加上下面的代码,以防某天我们需要删除Users这个表。

代码如下:


public function down()
{
Schema::drop('users');
}

上面的都做好以后,执行一下下面这一句神奇的命令:

代码如下:


php artisan migrate

有图有真相:

Laravel实现用户注册和登录

终于,我们的前奏搞完了,可以正式来鲁Laravel了。

4.启动服务来试试

直接在laravel目录执行:

代码如下:


php artisan serve

打开浏览器,输入localhost:8000,回车,Bingo!
OK,先给自己三十秒的掌声时间,如果你顺利地走到了这一步的话。恭喜你,你已经进入Laravel的大门,更多惊喜我们再一一道来.....

5.创建公用视图

好了,我们现在开始了,首先在app/views/文件夹下创建一个layouts文件夹,再再这个文件夹下新建一个php文件,命名为main.blade.php,在这个文件里写上下面这些代码:

代码如下:

推荐阅读
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • wpf+mvvm代码组织结构及实现方式
    本文介绍了wpf+mvvm代码组织结构的由来和实现方式。作者回顾了自己大学时期接触wpf开发和mvvm模式的经历,认为mvvm模式使得开发更加专注于业务且高效。与此同时,作者指出mvvm模式相较于mvc模式的优势。文章还提到了当没有mvvm时处理数据和UI交互的例子,以及前后端分离和组件化的概念。作者希望能够只关注原始数据结构,将数据交给UI自行改变,从而解放劳动力,避免加班。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • ps:写的第一个,不足之处,欢迎拍砖---只是想用自己的方法一步步去实现一些框架看似高大上的小功能(比如说模型中的toArraytoJsonsetAtt ... [详细]
  • 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之六 || API项目整体搭建 6.1 仓储模式
    代码已上传Github+Gitee,文末有地址  书接上文:前几回文章中,我们花了三天的时间简单了解了下接口文档Swagger框架,已经完全解放了我们的以前的Word说明文档,并且可以在线进行调 ... [详细]
  • MVC中的自定义控件
    怎么样创建自定义控 ... [详细]
  • 基于SpringBoot打造在线教育系统(6)– 二级分类模块UI篇
    这一节来做二级分类,为了快速开发,一级分类只做新增,暂时不考虑修改和删除,如果一定要删,就去数据库删吧。我们接下来,需要通过一级分类,获取所有的二级分类。开始 ... [详细]
  • 媒介本文的前身是源自github上的项目awesome-github-vue,但由于该项目上次更新时候为2017年6月12日,许多内容早已逾期或是许多近期优异组件未被收录,所以小肆 ... [详细]
author-avatar
hushuoni_133
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有