【CodeIgniter4】ログイン機能を実装する6〜ログイン認証の実装〜

こんにちは。かじです。

 

今回はCodeIgniter4でログイン機能の実装の最終回として、ログイン認証を実装していきます。

 

前回までの記事をまだ読んでない方はそちらから読むことをオススメいたします。

kajilikescode.hatenablog.com

1.Routes.phpの設定

まずはルーティングから実装します。

$routes->get('/', 'Users::index', ['filter' => 'noauth']);

$routes->get('logout', 'Users::logout');

$routes->match(['get', 'post'], 'register', 'Users::register', ['filter' => 'noauth']);

$routes->match(['get', 'post'], 'profile', 'Users::profile', ['filter' => 'auth']);

$routes->get('dashboard', 'Dashboard::index', ['filter' => 'auth']);

 それぞれのページに対して、フィルターをかけます。

 ログイン状態でないとアクセスできないページには['filter' => 'auth']を追加し、ログイン状態ではアクセスできないページに対しては['filter' => 'noauth']を追加します。

 

 ユーザー情報を更新するための'profile'やユーザーページの'dashboard'には、ログインしていないとアクセスできないようにしなければいけませんし、反対にログインフォームである'/'、登録画面である'register'はログインしていない状態でアクセスしなければいけません。

 なのでそれぞれのルーティングに先程の['filter' => 'auth']、['filter' => 'noauth']を加えます。

 

 

2.Filters.phpの設定

 上記のフィルターをルーティングに追加した、次はそれぞれのフィルターを定義しなければいけません。

 まずは、app\config\filters.phpの$aliasesに'auth'と'noauth'のクラスを追加します。

public $aliases = [

        'csrf'     => CSRF::class,

        'toolbar'  => DebugToolbar::class,

        'honeypot' => Honeypot::class,

        'auth' => \App\Filters\Auth::class,

        'noauth' => \App\Filters\Noauth::class,

    ];

 これによりルーティングで設定したフィルターでよってそれぞれのフィルタークラスを呼び出すことができます。

 

3.フィルタークラスの作成。

 次にapp\Filters内にAuth.php、およびNoauth.phpを作成し、それぞれ実装をしていきます。

<?php

namespace App\Filters;

use CodeIgniter\HTTP\RequestInterface;

use CodeIgniter\HTTP\ResponseInterface;

use CodeIgniter\Filters\FilterInterface;

 

class Auth implements FilterInterface

{

    public function before(RequestInterface $request, $arguments=null)

    {

        if(!session()->get('isLoggedIn'))

        {

            return redirect()->to('/');

        }

    }

    public function after(RequestInterface $request, ResponseInterface $response, $arguments = NULL)

    {

    }

}

 

<?php

namespace App\Filters;

use CodeIgniter\HTTP\RequestInterface;

use CodeIgniter\HTTP\ResponseInterface;

use CodeIgniter\Filters\FilterInterface;

 

class Noauth implements FilterInterface

{

    public function before(RequestInterface $request, $arguments=null)

    {

        if(session()->get('isLoggedIn'))

        {

            return redirect()->to('/dashboard');

        }

    }

    public function after(RequestInterface $request, ResponseInterface $response, $arguments = NULL)

    {

    }

}

 それぞれセッション内にログイン情報があるなしを判定し、それぞれ所定のページへと遷移します。

 

4.グローバルフィルターを設定

 これでルーティングを用いた認証は完了です。しかし、CodeIgniterの仕様上、ルートを用いなくても、クラス名メソッドを記述するとそのページへとアクセスすることができます。

 なので例えばUsers/indexとURIに書き込むとルーティングなしで、ログインフォームへとアクセスすることが可能でそうなるとルーティングで実装したフィルターを通らなくなってしまい、ログイン認証が意味をなさなくなってしまいます。

 そのためにリクエストするたびに実行されるグローバルフィルターを実装し、必ずルーティングで設定したフィルターを通すようにします。

 まず、app\config\filters.phpの$aliasesを以下の記述を追加します。

'userscheck' => \App\Filters\UsersCheck::class,

 続いて、その下に用意されている$globalを以下のように変更します。

public $globals = [

'before' => [

'userscheck'

// 'honeypot',

 // 'csrf',

],

'after'  => [

'toolbar',

// 'honeypot',

],

];

 これで全てのリクエストにおいてUsersCheckクラスを呼び出します。

 それでは、app\Filters\UsersCheck.phpの実装をしていきます。

<?php

namespace App\Filters;

use CodeIgniter\HTTP\RequestInterface;

use CodeIgniter\HTTP\ResponseInterface;

use CodeIgniter\Filters\FilterInterface;

 

class UsersCheck implements FilterInterface

{

    //added $arguments = null 

    public function before(RequestInterface $request, $arguments=null)

    {

        $uri = service('uri');

        if($uri->getSegment(1) === 'users')

        {   

            if($uri->getSegment(2) == '')

            {

                $segment = '/';

            }else{

                $segment = $uri->getSegment(2);

            }

            return redirect()->to($segment);

        }

    }

    public function after(RequestInterface $request, ResponseInterface $response, $arguments = NULL)

    {

    }

}

ここでは、Usersクラスに対してルーティングを経由せずアクセスした場合、redirectによってルーティングを介してそれぞれのページにアクセスするようにします。これによって全てのアクセスにおいてユーザー認証を行うことができます。

 

これにて全6回に渡って実装してきたログイン機能の実装が完了します。

最後まで読んでくださった皆様ありがとうございました。

次回以降にもご期待ください。

 

〜参考教材の紹介〜

www.youtube.com

 

 

【CodeIgniter4】ログイン機能を実装する5〜ユーザー情報を更新する〜

こんにちは。かじです。

 

今回もCodeIgniter4でログイン機能を実装していきます。

5回目の今回はユーザー情報の更新機能を作成していきます。

前回までの記事をまだ読んでおられない方はそちらから読むことをお勧めいたします。

kajilikescode.hatenablog.com

 

1.ルートの設定

まずはルートの設定から行います。

 

$routes->match(['get', 'post'], 'profile', 'Users::profile');

今回は'profile'にget、postどちらかでアクセスした場合Usersコントローラーのprofileメソッドを呼び出します。

 

2.コントローラーの設定

次にコントローラーの作成です。

Usersコントローラーにprofileメソッドを追加します。

    public function profile(){

        $data = [];

        helper(['form']);

        $model = new UsersModel();

        if($this->request->getMethod() == "post")

        {

            $rules = [

                'firstname' => 'required|min_length[3]|max_length[20]',

                'lastname' => 'required|min_length[3]|max_length[20]',

                'password' => 'required|min_length[8]|max_length[255]',

                'password_confirm' => 'matches[password]'

            ];

            if(!$this->validate($rules))

            {

                $data['validation'] = $this->validator;

            }

            else

            {

                $newData = [

                    'id' => session()->get('id'),

                    'firstname' =>$this->request->getVar('firstname'),

                    'lastname' =>$this->request->getVar('lastname'),

                ];

                if($this->request->getPost('password') != '')

                {

                    $newData['password'] = $this->request->getPost('password');

                }

                $model->save($newData);

                session()->setFlashdata('success', 'Successfully Updated');

                return redirect()->to('/profile');

            }

        }

        $data['user'] = $model->where('id', session()->get('id'))->first();

        echo view('templates/header', $data);

        echo view('profile');

        echo view('templates/footer');

    }

 まずはフォームヘルパーを設定した後、UsersModelを宣言します。

 次にメソッドの判定です。

 もしPostメソッドだった場合はバリデーション、Getメソッドである場合は、セッションのデータを元に、データベースからデータを取得し、profile.phpを表示します。

 バリデーションについてはバリデーションルールを設定した後、バリデーションの結果に対して条件分岐をします。もし、バリデーションエラーがあった場合は、エラーメッセージの格納、バリデーションに問題がない場合は、更新内容を$newDataに格納。パスワードに関しては変更があった場合のみ$newDataに格納します。

 その後データベースに保存し、変更成功の文章をセッションに格納した後、再度'profile'にアクセスします。

 

3.モデルの設定

 次にモデルを設定します。

    protected $beforeUpdate = ['beforeUpdate'];

・・・

     protected function beforeUpdate(array $data)

    {

        $data = $this->passwordHash($data);

        return $data;

    }

・・・

    protected function passwordHash(array $data)

    {

        if(isset($data['data']['password']))    

        $data['data']['password'] = password_hash($data['data']['password'], PASSWORD_DEFAULT);

        return $data;

    }

 

 今回もパスワードをデータベースに格納する前にハッシュ化したいのでデータベースの更新前に呼び出す関数beforeUpdateにてパスワードをハッシュ化します。

 

4.ビューの作成

最後にビューを作成します。

<h3><?=$user['firstname'].' '.$user['lastname'] ?></h3>

 

<?php if(session()->get('success')): ?>

 <?= session()->get('success'); ?>

<?php endif; ?>

 

<form class="" action="/profile" method="post">

 

 <label for="firstname">First Name</label>

  <input type="text" class="form-control" name="firstname" id="firstname" value="<?=set_value('firstname', $user['firstname']) ?>">

 

 <label for="lastname">Last Name</label>

 <input type="text" class="form-control" name="lastname" id="lastname" value="<?=set_value('lastname', $user['lastname']) ?>">

 

 <label for="email">Email address</label>

 <input type="email" class="form-control" readonly name="email" id="email" value="<?=set_value('email', $user['email']) ?>">

 

 <label for="password">Password</label>

 <input type="password" class="form-control" name="password" id="password" value="">

 

 <label for="password_confirm">Confirm Password</label>

 <input type="password" class="form-control" name="password_confirm" id="password_confirm" value="">

 

 <?php if(isset($validation)): ?>

  <?= $validation->listErrors() ?>

 <?php endif ?>

 

 <button type="submit" class="btn btn-primary">Update</button> 

</form>

今回はメールアドレスの変更はできないようにしてあります。

また、変更成功のメッセージがあった場合、もしくはバリデーションエラーがあった場合は表示できるようにしてあります。

そのほかはフォームを用意して、データベースから取得したユーザー情報をデフォルトでセットしておきます。

 

これでユーザー情報の更新の実装は完了です。

次回はいよいよ最終回、ログイン状態の認証を行なっていきます。

 

 

〜参考教材の紹介〜

www.youtube.com

 

 

 

 

【CodeIgniter4】ログイン機能を実装する4〜ユーザーページの実装〜

こんにちは。かじです。

 

今回もCodeIgniter4でログイン機能を実装していきます。

4回目の今回はユーザーページを作成していきます。

 

前回までの記事をまだ読んでいない方はそちらから読むことをお勧めいたします。

kajilikescode.hatenablog.com

 

それでは実装していきましょう。

 

1.ルーティングの設定

まずはルーティングを設定します。

$routes->get('dashboard', 'Dashboard::index');

今回は'dashboard'にアクセスした時Dashboardコントローラーのindexメソッドを呼び出します。

 

2.Dashboardコントローラーindexメソッドの作成

次にDashboardコントローラーのindexメソッドを作成します。

<?php

namespace App\Controllers;

class Dashboard extends BaseController 

{

    public function index()

    {

        $data = [];

        echo view('templates/header', $data);

        echo view('dashboard');

        echo view('templates/footer');

    }

}

今回はユーザー情報を表示するだけなので、特別な処理をここでは行いません。

また、今回はセッション内のデータを用いてユーザー情報を表示するため、モデルも使用しません。

次にViewを作成します。

 

3.Viewの作成

今回はヘッダーやフッターのテンプレートは割愛し、dashboard.phpだけ作成していきます。

<div class="container">

    <div class="row">

        <div class="col-12">

            <h1>Hello, <?=session()->get('firstname') ?></h1>

        </div>

    </div>

</div>

ここでは、セッションの'firstname'に格納されたデータを取得し、表示します。

これでユーザーページの実装は完了です。

次回は、ユーザー情報の更新を行なっていきます。

kajilikescode.hatenablog.com

 

〜参考教材の紹介〜

www.youtube.com

 

 

 

 

 

 

 

【CodeIgniter4】ログイン機能を実装する3〜ログアウト機能を作成する〜

こんにちは。かじです。

 

今回はCodeIgniterでログイン機能の実装の3回目として、ログアウト機能を作成したいと思います。

 

前回までの記事をまだ読んでいない方はそちらから読むことをお勧めいたします。

kajilikescode.hatenablog.com

 

それでは実装を始めていきます。

 

まずはルートの設定からです。

$routes->get('logout', 'Users::logout');

今回は'logout'にアクセスした時、Usersコントローラーのlogoutメソッドにアクセスします。

 

次にUsersコントローラーのlogoutメソッドを実装します。

    public function logout()

    {

        session()->destroy();

        return redirect()->to('/');

    }

引数などはなく、セッションにあるユーザー情報を初期化し、ホーム画面へと遷移します。

 

これでログアウト機能の実装は完了です。

今回はデータベースの利用や用意したビューはないので、これで完成となります。

次回はユーザーページの作成を行なっていきます。

kajilikescode.hatenablog.com

 

 

〜参考教材の紹介〜

youtu.be

【CodeIgniter4】ログイン機能を実装する2〜ログイン画面の実装〜

こんにちは。かじです。

 

今回はCodeIgniterでログイン機能の実装の第二回目です。

前回の記事を先に読まれていない方はそちらからお願いします。

kajilikescode.hatenablog.com

 

前回はユーザー登録画面まで作成したので、今回はログイン画面を作成していこうと思います。

 

まずは、ルートを作成します。

$routes->get('/', 'Users::index');

今回はログイン画面がホーム画面になるので、'/'でUsersコントローラーのIndexメソッドを呼び出します。

 

次にコントローラーを作成します。

public function index()

    {

        $data = [];

        helper(['form']);

        if($this->request->getMethod() == "post")

        {

            $rules = [

                'email' => 'required|min_length[6]|max_length[50]|valid_email',

                'password' => 'required|min_length[8]|max_length[255]1|validateUser[email, password]',

            ];            

            $errors = [

                'password' => [

                    'validateUser' => 'Email or Password don\'t match. '

                ]

            ];

            if(!$this->validate($rules, $errors))

            {

                $data['validation'] = $this->validator;

            }

            else

            {

                $model = new UsersModel();

                $user = $model->where('email', $this->request->getVar('email'))

                            ->first();

                $this->setUserSession($user);

                return redirect()->to('dashboard');

            }

        }

        echo view('templates/header', $data);

        echo view('login');

        echo view('templates/footer');

    }

private function setUserSession($user)

    {

        $data = [

            'id' => $user['id'],

            'firstname' => $user['firstname'],

            'lastname' => $user['lastname'],

            'email' => $user['email'],

            'isLoggedIn' => true

        ];

        session()->set($data);

        return true;

    }

 まずはフォームヘルパーを呼び出します。これにより、formに対してCodeIgniterが用意している様々な関数が使えるようになります。

 次にもしPostメソッドを用いてアクセスしている場合はPost内容に対してバリデーションのルールとエラーメッセージを設定しバリデーションを行います。

 もし、エラーの場合はエラーメッセージの表示、そうでない場合は、ユーザー情報をUsersModelから取得し、setUserSession()でセッション内にセットします。

 このページにPostメソッド以外でアクセスしている場合はViewを表示します。

 ここで出てくる疑問がどこでパスワード認証をしているのかという点だと思います。

 実は、バリデーションルール内にある'validateUser[email, password]'がこれを担っています。つぎはこのvalidateUser()というメソッドを作成していきましょう。

 \App\Validationというフォルダーを作り、UsersRule.phpというファイルを作ります。

<?php

namespace App\Validation;

use App\Models\UsersModel;

class UserRules

{

    public function validateUser(string $str, string $fields, array $data)

    {

        $model = new UsersModel();

        $user = $model->where('email', $data['email'])

                    ->first();

        if(!$user){

            return false;

        }

        else

        {

            return password_verify($data['password'], $user['password']);

        }

    }

}

 ここではPostされた内容を元にユーザーが存在するか、ユーザーのパスワードが合っているかを認証します。

 このメソッドを作っただけでは、機能してくれません。

 \Config\Validation.phpを開き

public $ruleSets = [

        Rules::class,

        FormatRules::class,

        FileRules::class,

        CreditCardRules::class,

    ];

という箇所があるので

 \App\Validation\UserRules::class

の一文を追加します。これで上のバリデーション時にユーザー認証のルールが加わりました。

 

今回は特にモデルで特別なところはないので、割愛してViewを見ていきます。

<div class="container">

    <div class="row">

        <div class="col-12 col-sm-8 offset-sm-2 col-md-6 offset-md-3 mt-5 pt-3 pb-3 bg-white from-wrapper">

            <div class="container">

                <h3>Login</h3>

                <hr>

                <?php if(session()->get('success')): ?>

                    <div class="alert alert-success" role ="alert">

                        <?= session()->get('success'); ?>

                    </div>

                <?php endif; ?>

                <form class="" action="/" method="post">

                    <div class="form-group">

                        <label for="email">Email address</label>

                        <input type="email" class="form-control" name="email" id="email" value="<?=set_value('email') ?>">

                    </div>

                    <div class="form-group">

                        <label for="password">Password</label>

                        <input type="password" class="form-control" name="password" id="password" value="">

                    </div>

                    <?php if(isset($validation)): ?>

                                <div class="col-12">

                                    <div class="alert alert-danger" role="alert">

                                        <?= $validation->listErrors() ?>

                                    </div>

                                </div>

                    <?php endif ?>

                    <div class="row">

                        <div class="col-12 col-sm-4">

                           <button type="submit" class="btn btn-primary">Login</button> 

                        </div>

                        <div class="col-12 col-sm-8 text-right">

                           <a href="/register">Don't have an account yet?</a> 

                        </div>

                    </div>

                </form>

            </div>

        </div>

    </div>

</div>

 

Viewもほとんどregister.phpと同じで、emailとpasswordだけをPostできるようにしてあります。

もし、セッション内に登録成功メッセージがある場合もここで表示します。

 

これで、ログイン画面の完成です。

次回はログアウト機能の実装を行なっていきます。

kajilikescode.hatenablog.com

 

 

〜参考教材のご紹介〜

www.youtube.com

【CodeIgniter4】ログイン機能を実装する1〜ユーザー登録機能を実装する〜

こんにちは。かじです。

今回はCodeIgniterでログイン機能の実装1回目としてユーザー登録機能を実装していきたいと思います。

事前準備として以下の記事を読んでいただけると幸いです。

 

kajilikescode.hatenablog.com

 

kajilikescode.hatenablog.com

 

それでは早速ルーティングから作成します。

$routes->match(['get', 'post'], 'register', 'Users::register');

 getメソッド、postメソッドそれぞれを用いてURIにアクセする場合、上のようにmatch()を使ってルーティングを設定します。

 今回は/registerへアクセスした場合、Usersコントローラーのregisterメソッドへアクセスします。

 

それではUsersコントローラーのregisterメソッドを作成していきましょう。

public function register()

    {

        $data = [];

        helper(['form']);

        if($this->request->getMethod() == "post")

        {

            $rules = [

                'firstname' => 'required|min_length[3]|max_length[20]',

                'lastname' => 'required|min_length[3]|max_length[20]',

                'email' => 'required|min_length[6]|max_length[50]|valid_email|is_unique[users.email]',

                'password' => 'required|min_length[8]|max_length[255]',

                'password_confirm' => 'matches[password]'

            ];

            if(!$this->validate($rules))

            {

                $data['validation'] = $this->validator;

            }

            else

            {

                $model = new UsersModel();

                $newData = [

                    'firstname' =>$this->request->getVar('firstname'),

                    'lastname' =>$this->request->getVar('lastname'),

                    'email' =>$this->request->getVar('email'),

                    'password' =>$this->request->getVar('password'),

                ];

                $model->save($newData);

                $session = session();

                $session->setFlashdata('success', 'Successful Registration');

                return redirect()->to('/');

            }

        }

        echo view('templates/header', $data);

        echo view('register');

        echo view('templates/footer');

    }

 最初にフォームヘルパーを設定します。これによってformの補助的なメソッドを使用可能になります。参考サイトは下に貼っておくので詳しく知りたいという方はそちらをご覧ください。

 次のif文では、リクエストメソッドがPostであるかを判定し、もしPostメソッドであった場合はバリデーションルールを設定、Postメソッドでない場合は登録フォームを表示します。

 次はPostデータに対して実際にバリデーションをかけ、falseが返ってきた場合エラーメッセージを$data['validation']に格納、trueが返ってきた場合はユーザー情報をUsersModelを用いて登録します。

 登録が完了したら、セッションへ登録成功のメッセージを格納し、ホーム画面へ遷移します。

 

それでは次にUsersModelを見ていきます。

<?php

namespace App\Models;

use CodeIgniter\Model;

 

class UsersModel extends Model

{

    protected $table = "users";

    protected $allowedFields = ['firstname', 'lastname', 'email', 'password', 'updated_at'];

    protected $beforeInsert = ['beforeInsert'];

    protected $beforeUpdate = ['beforeUpdate'];

    protected function beforeInsert(array $data)

    {

        $data = $this->passwordHash($data);

        return $data;

    }

    protected function beforeUpdate(array $data)

    {

        $data = $this->passwordHash($data);

        return $data;

    }

    protected function passwordHash(array $data)

    {

        if(isset($data['data']['password']))    

        $data['data']['password'] = password_hash($data['data']['password'], PASSWORD_DEFAULT);        

        return $data;

    }

}

 最初の2行ではModelの型を呼び出したり名前空間を作成したりしています。

 クラスを宣言した後の初めの2行ではそれぞれ使うテーブル、またデータの挿入先のカラムを指定します。

 次2行ですが、それぞれデータの挿入前に実行されるbeforeInsert、データの更新前に実行されるbeforeUpdateを宣言し、それ以降それぞれのメソッドの定義を行っています。今回はそれぞれのメソッド内でパスワードのハッシュ化を行っています。

 

最後にViewを作成します。

<div class="container">

    <div class="row">

        <div class="col-12 col-sm8- offset-sm-2 col-md-6 offset-md-3 mt-5 pt-3 pb-3 bg-white from-wrapper">

            <div class="container">

                <h3>Register</h3>

                <hr>

                    <form class="" action="/register" method="post">

                        <div class="row">

                            <div class="col-12 col-sm-6">

                                <div class="form-group">

                                    <label for="firstname">First Name</label>

                                    <input type="text" class="form-control" name="firstname" id="firstname" value="<?=set_value('firstname') ?>">

                                </div>

                            </div>

 

                            <div class="col-12 col-sm-6">

                                <div class="form-group">

                                    <label for="lastname">Last Name</label>

                                    <input type="text" class="form-control" name="lastname" id="lastname" value="<?=set_value('lastname') ?>">

                                </div>

                            </div>

                            <div class="col-12">

                                <div class="form-group">

                                    <label for="email">Email address</label>

                                    <input type="email" class="form-control" name="email" id="email" value="<?=set_value('email') ?>">

                                </div>

                            </div>

 

                            <div class="col-12 col-sm-6">

                                <div class="form-group">

                                    <label for="password">Password</label>

                                    <input type="password" class="form-control" name="password" id="password" value="">

                                </div>

                            </div>

                            <div class="col-12 col-sm-6">

                                <div class="form-group">

                                    <label for="password_confirm">Confirm Password</label>

                                    <input type="password" class="form-control" name="password_confirm" id="password_confirm" value="">

                                </div>

                            </div>

                            <?php if(isset($validation)): ?>

                                <div class="col-12">

                                    <div class="alert alert-danger" role="alert">

                                        <?= $validation->listErrors() ?>

                                    </div>

                                </div>

                            <?php endif ?>

                        </div>

                        <div class="row">

                            <div class="col-12 col-sm-4">

                                <button type="submit" class="btn btn-primary">Register</button> 

                            </div>

                            <div class="col-12 col-sm-8 text-right">

                                <a href="/">Already have an acount?</a> 

                            </div>

                        </div>

                    </form>

            </div>

        </div>

    </div>

</div>

 今回は名前、苗字、メールアドレス、パスワード、確認用パスワードを入力します。

 そして、もし$validationにエラーメッセージが格納されていた場合、表示するようにします。登録完了のメッセージはログイン画面にて表示するため今回はその部分のコードは書きません。

 これで登録機能の実装は完了です。

 次回はログイン機能を実装していきます。

〜次回記事〜

kajilikescode.hatenablog.com

 

〜フォームヘルパーについて〜

codeigniter.com

 

〜参考教材のご紹介〜

www.youtube.com

 

【CodeIgniter4】ログイン機能を実装する

こんにちは。かじです。

 

今回はCodeIgniter4でログイン機能を実装していきます。

 

今回の手順は以下の通りです。

1.ユーザー登録機能の実装

kajilikescode.hatenablog.com

 

2.ログイン機能の実装

kajilikescode.hatenablog.com

 

3.ログアウト機能の実装

kajilikescode.hatenablog.com

 

4.ユーザーページの実装

kajilikescode.hatenablog.com

 

5.ユーザー情報の更新機能の実装

kajilikescode.hatenablog.com

 

6.ログイン認証の実装

kajilikescode.hatenablog.com

 

今回のポイントとしては、

1.CodeIgniterのModelを用いてデータベースと接続してユーザー情報を登録、取得する

2.セッションを用いてユーザー情報を保持すること

3.ユーザー情報に対して認証をしながらルーティングを実装すること

です。

 

次回から実際に実装にを行ってみたいと思います。

〜第一回〜

kajilikescode.hatenablog.com

 

 

〜参考教材の紹介〜

www.youtube.com