├── README.md ├── resources └── views │ ├── user │ ├── account.blade.php │ ├── index.blade.php │ ├── login.blade.php │ └── register.blade.php │ └── layouts │ └── master.blade.php ├── database └── migrations │ ├── 2014_10_12_100000_create_password_resets_table.php │ └── 2014_10_12_000000_create_users_table.php └── app ├── Http └── routes.php ├── User.php └── Controllers └── UserController.php /README.md: -------------------------------------------------------------------------------- 1 | User login and registration in Laravel 2 | ======== 3 | 4 | A simple and basic system with user login and register feature using Laravel PHP Framework. 5 | 6 | Blog Article: [Laravel: Login Register](http://blog.chapagain.com.np/laravel-login-register-beginner-tutorial/) 7 | -------------------------------------------------------------------------------- /resources/views/user/account.blade.php: -------------------------------------------------------------------------------- 1 | 2 | @extends('layouts.master') 3 | 4 | @section('title', $title) 5 | 6 | @section('sidebar') 7 | @parent 8 | // you can add something here 9 | @endsection 10 | 11 | @section('content') 12 |

{{ $title }}

13 | 14 |

Middleware page !!

15 | 16 | @endsection 17 | -------------------------------------------------------------------------------- /resources/views/user/index.blade.php: -------------------------------------------------------------------------------- 1 | 2 | @extends('layouts.master') 3 | 4 | @section('title', $title) 5 | 6 | @section('sidebar') 7 | @parent 8 | // you can add something here 9 | @endsection 10 | 11 | @section('content') 12 |

{{ $title }}

13 | 14 | @if(Auth::check()) 15 |

Logged in as:

16 | 17 |

18 | Name: {{ Auth::user()->name }}
19 | Email: {{ Auth::user()->email }}
20 | 21 | My Account | 22 | Logout 23 |

24 | @else 25 |

26 | Login | 27 | Register 28 |

29 | @endif 30 | 31 | @endsection 32 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_100000_create_password_resets_table.php: -------------------------------------------------------------------------------- 1 | string('email')->index(); 17 | $table->string('token')->index(); 18 | $table->timestamp('created_at'); 19 | }); 20 | } 21 | 22 | /** 23 | * Reverse the migrations. 24 | * 25 | * @return void 26 | */ 27 | public function down() 28 | { 29 | Schema::drop('password_resets'); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_000000_create_users_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 17 | $table->string('name'); 18 | $table->string('email')->unique(); 19 | $table->string('password'); 20 | $table->rememberToken(); 21 | $table->timestamps(); 22 | }); 23 | } 24 | 25 | /** 26 | * Reverse the migrations. 27 | * 28 | * @return void 29 | */ 30 | public function down() 31 | { 32 | Schema::drop('users'); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /resources/views/layouts/master.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | @yield('title') 4 | 5 | 6 | @section('header') 7 | Home 8 | 9 | 10 | @if(Session::has('flash_message')) 11 |
12 | {{ Session::get('flash_message') }} 13 |
14 | @endif 15 | 16 | @if($errors->any()) 17 |
18 | @foreach($errors->all() as $error) 19 |

{{ $error }}

20 | @endforeach 21 |
22 | @endif 23 | 24 |
25 | @yield('content') 26 |
27 | 28 |
29 | Footer @ 2016 30 |
31 | 32 | 33 | -------------------------------------------------------------------------------- /resources/views/user/login.blade.php: -------------------------------------------------------------------------------- 1 | 2 | @extends('layouts.master') 3 | 4 | @section('title', $title) 5 | 6 | @section('sidebar') 7 | @parent 8 | // you can add something here 9 | @endsection 10 | 11 | @section('content') 12 | 13 |

{{ $title }}

14 | 15 | {!! Form::open([ 16 | 'route' => 'user.authenticate' 17 | ]) !!} 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
{!! Form::label('email', 'Email', ['class' => 'control-label']) !!}{!! Form::email('email', null, ['class' => 'form-control', 'size' => 40, ]) !!}
{!! Form::label('password', 'Password', ['class' => 'control-label']) !!}{!! Form::password('password', null, ['class' => 'form-control', 'size' => 64, ]) !!}
{!! Form::submit('Submit', ['class' => 'btn btn-submit']) !!}
33 | 34 | {!! Form::close() !!} 35 | 36 | @endsection 37 | -------------------------------------------------------------------------------- /app/Http/routes.php: -------------------------------------------------------------------------------- 1 | 'user.index', 'uses' => 'UserController@index')); 16 | Route::get('user/register', array('as' => 'user.register', 'uses' => 'UserController@register')); 17 | Route::post('user/store', array('as' => 'user.store', 'uses' => 'UserController@store')); 18 | Route::get('user/login', array('as' => 'user.login', 'uses' => 'UserController@login')); 19 | Route::post('user/authenticate', array('as' => 'user.authenticate', 'uses' => 'UserController@authenticate')); 20 | Route::get('user/logout', array('as' => 'user.logout', 'uses' => 'UserController@logout')); 21 | Route::get('user/account', array('as' => 'user.account', 'uses' => 'UserController@account'))->middleware('auth'); 22 | 23 | -------------------------------------------------------------------------------- /app/User.php: -------------------------------------------------------------------------------- 1 | {{ $title }} 14 | 15 | {!! Form::open([ 16 | 'route' => 'user.store' 17 | ]) !!} 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |
{!! Form::label('name', 'Name', ['class' => 'control-label']) !!}{!! Form::text('name', null, ['class' => 'form-control', 'size' => 40, ]) !!}
{!! Form::label('email', 'Email', ['class' => 'control-label']) !!}{!! Form::email('email', null, ['class' => 'form-control', 'size' => 40, ]) !!}
{!! Form::label('password', 'Password', ['class' => 'control-label']) !!}{!! Form::password('password', null, ['class' => 'form-control', 'size' => 64, ]) !!}
{!! Form::label('password_confirmation', 'Confirm Password', ['class' => 'control-label']) !!}{!! Form::password('password_confirmation', null, ['class' => 'form-control', 'size' => 64, ]) !!}
{!! Form::submit('Submit', ['class' => 'btn btn-submit']) !!}
41 | 42 | {!! Form::close() !!} 43 | 44 | @endsection 45 | -------------------------------------------------------------------------------- /app/Controllers/UserController.php: -------------------------------------------------------------------------------- 1 | $user, 'title' => 'User Page')); 26 | } 27 | 28 | /** 29 | * Show the form for creating a new resource. 30 | * 31 | * @return \Illuminate\Http\Response 32 | */ 33 | public function register() 34 | { 35 | return view('user.register', array('title' => 'Register')); 36 | } 37 | 38 | /** 39 | * Store a newly created resource in storage. 40 | * 41 | * @param \Illuminate\Http\Request $request 42 | * @return \Illuminate\Http\Response 43 | */ 44 | public function store(Request $request) 45 | { 46 | $this->validate($request, array( 47 | 'name' => 'required|max:255', 48 | 'email' => 'required|email|max:255|unique:users', 49 | 'password' => 'required|min:6|confirmed', 50 | ) 51 | ); 52 | 53 | //$input = $request->all(); 54 | //dd($request->email); 55 | //dd($input); // dd() helper function is print_r alternative 56 | 57 | User::create(array( 58 | 'name' => $request->name, 59 | 'email' => $request->email, 60 | 'password' => bcrypt($request->password), 61 | )); 62 | 63 | Session::flash('flash_message', 'User registration successful!'); 64 | 65 | //return redirect()->back(); 66 | //return redirect('user'); 67 | return redirect()->route('user.login'); 68 | } 69 | 70 | /** 71 | * Show the login form 72 | * 73 | * @return \Illuminate\Http\Response 74 | */ 75 | public function login() 76 | { 77 | return view('user.login', array('title' => 'Login')); 78 | } 79 | 80 | /** 81 | * Authenticate user 82 | * 83 | * @param \Illuminate\Http\Request $request 84 | * @return \Illuminate\Http\Response 85 | */ 86 | public function authenticate(Request $request) 87 | { 88 | if (Auth::attempt(array('email' => $request->email, 'password' => $request->password))) { 89 | return redirect()->route('user.index'); 90 | } else { 91 | return redirect()->route('user.login'); 92 | } 93 | } 94 | 95 | /** 96 | * Logout user 97 | * 98 | * @return \Illuminate\Http\Response 99 | */ 100 | public function logout() { 101 | Auth::logout(); 102 | return redirect()->route('user.login'); 103 | } 104 | 105 | /** 106 | * Show the login form 107 | * 108 | * @return \Illuminate\Http\Response 109 | */ 110 | public function account() 111 | { 112 | return view('user.account', array('title' => 'My Account')); 113 | } 114 | } 115 | --------------------------------------------------------------------------------