web analytics

Laravel : สร้างระบบล็อกอินบน Laravel 5.2

cover

บทความนี้ สำหรับมือใหม่เริ่มต้นใช้งาน laravel จะพามาสร้างระบบล็อกอินง่ายๆตั้งแต่เริ่มโปรเจค โดย Laravel มีส่วน Login มาให้แล้วเรียบร้อย พร้อมหน้าสมัครสมาชิกให้ด้วย ซึ่งเวอชัน 5.2 นี้มันเอาไปซ่อนไว้  เดี๋ยวเราจะมาลองใช้งานกัน

 

สร้างโปรเจค

ก่อนอื่นสร้างโปรเจคขึ้นมา ด้วย Composer
รัน cmd และไปที่ path ของโปรเจค รันด้วยคำสั่งนี้

จะได้โปรเจคปล่าวๆ ไม่มี route หรือ view อะไรมาให้เลย

 

สร้างระบบล็อกอิน

แล้วรันคำสั่งนี้

มันจะทำการสร้างไฟล์ให้

1

 

ไปดูที่ route.php มันจัดการสร้างมาให้แล้วง่ายๆดังนี้

 

ที่ view ก็มีเรียบร้อย

2

 

ดูหน้าล็อกอิน

ลองเปิดเว็บดูไปที่ localhost/ชื่อโปรเจค/public/home จะพบหน้า login แบบนี้
เราได้ระบบล็อคอินแล้วละ แต่ว่ายังไม่มีสมาชิกนี่ ไปสมัครสมาชิกก่อน

3

ลองสมัครสมาชิก

ลองกดไปที่ Register เพื่อลองสมัครสมาชิก

4

 

และจะพบหน้าจอ Error แบบนี้
มันบอกว่า ชื่อ user database ไม่ถูกนี่ ไปๆใส่ให้ถูกหน่อย

5

 

ตั้งค่า Database

พวกค่าต่างๆเกี่ยวกับฐานข้อมูล ปกติแล้วจะเขียนไว้ใน config/database.php
จะพบ mysql sqlite ให้ตั้งค่า แต่จะเห็นว่าค่าของ database มีการใช้ env(….)

6

 

อะไรคือ env

มันคือไฟล์ environment พวก config เป็นเรื่องความปลอดภัย ดังนั้น Laravel เลยบอกว่า อย่าเขียนค่าสำคัญๆใน .php ให้ไปเขียนใส่ .env แล้วค่อยเรียกใช้งานอีกที ดังนั้นเราจะไปตั้งค่าในไฟล์ .env

 

เปิดไฟล์ .env

ไฟล์นี้ไม่มีชื่อนะ มันอยู่ใน root ของโปรเจคเรานั่นแหละ เปิดดูแล้วจะพบกับ DB_DATABASE=homestead
ใช่แล้วนี่คือ ที่มาของ error เมื่อกี้ มันไม่รู้จัก homestead เราจะมาแก้ให้ถูกกัน

7

 

ก่อนอื่น แล้ว Database ล่ะเอามาจากไหน เรายังไม่มีเลยนี่หน่า ??

 

สร้าง Database

ทำการสร้างฐานข้อมูลให้เรียบร้อย ใช้ phpMyAdmin ก็ได้

8

 

เสร็จแล้วก็ไปที่ไฟล์ .env แก้ค่าของมันให้ถูกต้อง

พอได้ database แล้ว Table ล่ะ เอามาจากไหน Table ของ user น่ะ
ใช้แล้วครับ Laravel จัดให้อีกแล้ว

 

สร้าง Table Users ด้วย Migration

พวกโครงสร้างตาราง เรียกว่า Schema และ Schema ของ Users ก็มีพร้อมแล้ว ขั้นตอนการสร้างนี้เราเรียก Migration
ไฟล์ migration ของ Users นั้น Laravel เขียนมาให้แล้ว ดูได้ที่ database > migrations

10

 

วิธีการ Migrate คือ รันคำสั่ง

9

 

ผลจากการรันคำสั่งนี้จะพบว่ามันสร้าง Table users ให้เรียบร้อยในฐานข้อมูล

11

 

พวกโคงสร้างก็จะเป็นไปตาม schema ที่เขียนไว้นั่นเอง แสดงว่าจริงๆแล้วเราสามารถเขียน php ใน Migration แล้วรัน Migrate ก็จะได้ Table พวกคำสั่ง schema ลองหาอ่านเพิ่มเติมได้ที่ document ของ Laravel

12

 

ลองสมัครสมาชิกอีกครั้ง

จากนั้นก็ไปสมัครสมาชิกอีกที ก็จะพบว่า สมาชิกเพิ่มแล้วในฐานข้อมูล รหัสผ่านถูก hash เข้ารหัสเอาไว้ด้วย

 

13

 

ลองล็อกอิน

แน่นอนว่าล็อกอินก็สามารถใช้งานได้เช่นกัน การ logout ก็มีให้แล้ด้วยนะ

14

จบแล้ว

ง่ายมากๆเลยใช่มะ Laravel ทำมาให้แล้ว แค่เรียกใช้กับ config database แค่นั้นเอง ต่อไปก็ไปต่อยอดกันอีกที

ขอบคุณ สำหรับการติดตามครับ (: