menu

Laravel - Authentification (register)


Sibuk dengan kegiatan kantor sehari-hari dan project, akhirnya bisa kembali ngeblog, tutorial kali ini codedoct akan membahas tentang cara membuat sistem register untuk melengkapi sistem authentification yang sedang kita kembangkan.

Oke, langsung saja kita mulai tutorialnya,

Pertama, buat dua route baru, yang pertama untuk page register yang kedua untuk controller store usernya, caranya edit file web.php pada path protected/app/routes/ dengan menambahkan code berikut,
.
.
.
//login
Route::get('login', 'Controller\Auth\AuthController@indexLogin');
Route::post('login', 'Controller\Auth\AuthController@login');
Route::get('logout', 'Controller\Auth\AuthController@logout');
Route::get('register', 'Controller\Auth\AuthController@indexRegister');
Route::post('register', 'Controller\Auth\AuthController@register');
.
.
.

Selanjutnya, buat dua function method baru yang pertama untuk menampilkan page register yang kedua untuk store user, dengan cara edit file AuthController.php pada path protected/app/controllers/auth/ dengan menambahkan function method berikut,
.
.
.
public function indexRegister()
 {
  return View::make('auth.register');
 }

 public function register()
 {
  $user = new User;
  $user->name = Input::get('fullname');
  $user->username = Input::get('username');
  $user->email = Input::get('email');
  $user->password = Hash::make(Input::get('password'));

  if(!$user->save()) {
   throw new \ValidationException($user->errors());
  }

  return Redirect::to('login');
 }
.
.
.

Kemudian buat tampilan registernya dengan membuat file baru bernama register.blade.php pada path protected/app/views/auth/ dan isi dengan code berikut,
@extends('layouts/web/master')

<?php $title = "Register" ?>

@section('script')
@stop

@section('content')
<div class="isi">
 <div class="login">
  <h4>Register</h4><br>
  <div class="form-login">
   <form action="" method="POST">
    <div class="form-group">
              <label class="sr-only" for="fullname">Fullname</label>
              <div class="form-group has-feedback">
               <input type="text" class="form-control" placeholder="Masukan Fullname" name="fullname"/>
           </div>
          </div>
          <div class="form-group">
              <label class="sr-only" for="email">Username</label>
              <div class="form-group has-feedback">
               <input type="text" class="form-control" placeholder="Masukan Username" name="username"/>
           </div>
          </div>
    <div class="form-group">
              <label class="sr-only" for="email">Email</label>
              <div class="form-group has-feedback">
               <input type="email" class="form-control" placeholder="Masukan Email" name="email"/>
           </div>
          </div>
          <div class="form-group">
              <label class="sr-only" for="password">Password</label>
              <div class="form-group has-feedback">
               <input type="password" class="form-control" placeholder="Masukan Password" name="password"/>
           </div>
          </div>
          <div class="form-group">
              <button type="submit" class="btn btn-block btn-success">Register</button>
          </div>
   </form>
  </div>
 </div>
</div>
@stop

Terakhir, edit file header.blade.php pada path protected/app/views/layouts/web/ edit bagian ini saja,
.
.
.
  <div class="kanan">
   @if(Auth::user())
    <li onclick="if(confirm('Are you sure to logout?')) location.href='{{ URL::to('logout') }}';">Logout</li>
   @else
    <li onclick="location.href='{{ URL::to('login') }}';">Login</li>
   @endif
   <li onclick="location.href='{{ URL::to('register') }}';">Register</li>
  </div>
.
.
.

Sehingga tampilan registernya akan tampak seperti ini,



===DONE!===