Laravel5.8入門系列二,快速構建用戶註冊登陸功能

一 XAMPP 環境配置

此次咱們須要開始使用繼承開發環境了,由於咱們須要使用數據庫,完成用戶的登陸註冊功能。
首先要配置好XAMPP環境,咱們須要添加一個vhost,指向blog5.8的public目錄。php

  1. 配置8000端口

打開XAMPP的配置目錄xampp/apache/conf,編輯http.conf文件,搜索Listen 80,而後在下面再添加一個端口監聽Listen 8000。修改後以下mysql

Listen 80
Listen 8000
  1. 配置vhost

打開XAMPP的配置目錄xampp/apache/conf/extra 編輯 httpd-vhosts.conf文件,在文件末尾添加如下內容,注意修改blog5.8的目錄laravel

``
<VirtualHost *:8000>
ServerAdmin wulei@jingcheng.cn
DocumentRoot "D:/code/blog5.8/public"
ServerName localhost
</VirtualHost>
<Directory "D:/code/blog5.8/public">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
``web

到這裏,咱們已經配置好了xampp,其餘的咱們使用默認配置。如今訪問http://localhost:8000 能夠看到以前使用laravel內置服務器訪問過的首頁。sql

數據庫使用默認的http://localhost/phpmyadmin管理。訪問http://localhost/phpmyadmin建立一個名爲laravel58的數據庫,字符集設置爲utf8mb4_general_ci數據庫

配置數據庫信息

Laravel 自己已經生成好了配置文件。數據庫的配置文件在blog5.8/conf/database.php中。Laravel5.8的數據庫配置文件中包含了各類數據庫配置的例子,這裏咱們使用的是mysql數據庫,因此咱們須要修改database.php中的mysql配置apache

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'prefix_indexes' => true,
    'strict' => true,
    'engine' => null,
    'options' => array_filter([
        PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
    ]),
],

咱們須要修改的內容有數據庫鏈接地址,數據庫名稱,數據庫用戶名,數據庫密碼,其餘的參數,視本身本地數據庫配置修改。這裏要注意,通常在開發中,對數據庫配置而已經是比較敏感的內容。所以通常使用本地環境變量配置實際的數據庫信息。Laravel 的全部本地環境變量都配置在根目錄下的.env文件中。這個文件在默認windowns文件瀏覽器下是隱藏的。瀏覽器

這裏咱們也使用本地環境便利配置好咱們的本地書庫服務器

``
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=larave58 #//註釋,數據庫名稱
DB_USERNAME=root #//註釋,數據庫用戶名
DB_PASSWORD= #註釋,數據庫密碼,xampp默認爲空
``app

一鍵生成註冊登陸頁面

Laravel自己提供快捷構建用戶登陸的命令。在根目錄下,執行如下命令:
``sh
php artisan make:auth
``
這樣,laravel就爲咱們構建好了,用戶登陸註冊的界面了。界面的試圖文件在resources\views\auth目錄下。註冊登陸相關的控制器在app\Http\Controllers\Auth目錄下

訪問http://localhost:8000 能夠發現頂部欄已經出現了登陸註冊的入口。

登陸界面
圖片描述

註冊界面
圖片描述

除了生成界面以外,這個命令還在路由文件中route/web.php添加了用戶登陸註冊須要的路由。

Auth::routes();

生成用戶數據表

上面的操做只是生成了用戶註冊登陸的界面,並無建立用戶表。加入你嘗試去註冊用戶,你就會看到相似下面的錯誤提示:
圖片描述

請不要懼怕,這只是laravel在告訴你,你在註冊用戶以前,系統沒有準備好數據表。

Laravel已經準備好了數據遷移文件,咱們只要在命令行中執行數據遷移命令,laravel就會幫咱們建立好所須要的數據表。在根目錄下,執行下面的命令:

php artisan migrate

這一步,若是你的命令提高錯誤,錯誤信息相似於下面

``
PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1071 Sp
ecified key was too long; max key length is 767 bytes")
``
這是因爲mysql版本照成的。若是出現這個錯誤提高,那麼,請編輯app\Provides\AppServiceProvider.php,修改register方法以下:

public function register()
{
    \Schema::defaultStringLength(191);
}

而後刪除掉數據庫中的全部的表,從新執行一遍數據遷移命令就能夠了。

以上操做成功以後,咱們就能夠註冊用戶了,這裏咱們註冊一個admin的用戶。註冊成功以後,Laravel會將當前註冊用戶登陸,因此咱們看到的是下面的界面:
圖片描述

到這裏,僅僅幾個命令就實現了簡單的用戶註冊登陸功能。其實上面的操做還實現了郵箱找會密碼的功能,等後續咱們實現用戶註冊添加郵件驗證的時候一塊兒詳細講解。

相關文章
相關標籤/搜索