You are here
Home > General > เรียนรู้ Laravel 4.1 ( Auth )

เรียนรู้ Laravel 4.1 ( Auth )

laravel_Auth

บทความนี้เราจะเรียนรู้เกี่ยวกับการ Authentication โดยจะเรียนรู้การ Register แล้วก็เอา username / passsword สำหรับ Login เข้าสู่ระบบครับเป็นอย่างไรไปดูกันเลย

สร้างหน้า Form สำหรับ Register ก่อน

จากที่เราเรียนรู้การสร้าง View ไปแล้วก็ให้สร้างหน้าสำหรับ Register โดยมี input email และก็ pasword นะครับ และเพิ่มโค้ดสำหรับเรียกหน้า Form สำหรับ Register ครับแก้ไขที่ไฟล์ route.php ตามนี้เลย

 

ใครไม่รู้สร้างอย่างไรกลับไปดูที่

เมื่อสร้างเสร็จแล้วให้ไปแก้ไขไฟล์ route.php เพิ่มโค้ดตามด้านล่าง

เป็นการบอกว่าเมื่อเราทำการส่งค่าจาก Form จะเข้าสู่ Route นี้ครับจะส่งค่าไปยังไฟล์ LoginController ที่มี method ( function ) ชื่อว่า register ครับต่อไปให้เราไปสร้างไฟล์ใหม่ชื่อว่า LoginController.php ใน folder controller ครับและใส่โค้ดตามด้านล่างครับ

จากโค้ดด้านบนเราทำการ print_r ค่าที่มีการกรอก Input เข้ามา หลายคนอาจจะงงว่ามันมาไงไอ้เจ้า Input::all() มันคือ class ที่ทาง Laravel เตรียมไว้สำหรับจัดการเรื่องพวกค่า กรอกๆทั้งหลายจาก Form ครับ ใครงงอยากให้อธิบายเพิ่มเติมถามได้ใน comment เลยจ้า

สร็จ save  ลองเข้า Browser ไปหน้า form กรอกข้อมูลแล้วกดปุ่มส่ง เสร็จดูว่าระบบทำงานถูกต้องหรือไม่ หากทำงานถูกค่าก็จะถูกส่งออกมาให้ดูว่ามีอะไรบ้าง

เสร็จเราต้องการจะทำการ save ลงฐานข้อมูลโดยแก้ไข  code ดังนี้

ตัว User เป็น model สำหรับจัดการเรื่องการดึงข้อมูล User ครับแล้วเราก็ปรับเปลี่ยนค่าต่างๆเพื่อทำการ save ครับส่วนตรง Hash ก็คล้ายๆกับตัว Class Input ครับทาง Laravel เตรียมให้เราสำหรับจัดการเรื่องการเข้ารหัสแบบต่างๆ

 การ Login

เขียน ไฟล์ route เขียนเพิ่มเติมจากอันเดิม

คราวนี้เราเพิ่ม route ใหม่สำหรับการเรียกหน้า Login form ครับ เมื่อทำหน้าสำหรับกรอกแล้วเราก็ต้องสร้าง route สำหรับการรับค่าเหมือนเดิมคล้ายๆกับตอนเราทำหน้า register ครับ

เราจะส่งค่าที่ user กรอกไปให้ function สำหรับการเช็คค่าว่าถูกต้องไหมอย่างไร กลับไปที่ ไฟล์ LoginController.php

สร้างมาอีก function ในไฟล์ LoginController.php  ตามนี้ครับ

ตรง Input::only คือการบอกว่าเราจะเอาค่าแค่ 2 field นี้เท่านั้นในหน้าตอนกรอก อาจจะมีหลาย Input แต่เราไม่สนใจเราต้องการแค่สองอันนี้ครับส่วน Auth::attemp ก็เหมือนเดิมทาง Laravel มี class สำหรับจัดการเรื่องการเช็คข้อมูลว่ามีอยู่ในระบบหรือยัง อะไรพวกนี้ให้เราแล้ว ถ้าหากงงว่าแล้วไอ้ attemp มันมายังไง อันนี้เราต้องไปอ่านดูในเอกสารในเว็บหรือเราเรียกว่า API Document ครับ

ถ้าเรากรอกสำหรับไม่มีอะไรพลาดเราก็จะเห็นข้อความว่า login success ครับ

การ Logout

สร้าง route สำหรับ logout

แล้วก็ไปเพิ่ม function จากไฟล์เดิม LoginController.php ครับ

 การดึงข้อมูล User ที่ Login

 สรุป

ในบทนี้เราได้รู้แล้วว่าวิธีทำ Login นั้นไม่ได้ยากอย่างที่คิด หากมีข้อสงสัยอะไรก็สามารถสอบถามใน comment ได้เลยครับ

Credit

พอดีผมได้ไปศึกษาจากคลิปนี้ https://www.youtube.com/user/laraveltut สามารถเข้าไปติดตามหรือเรียนจากคลิปได้ครับ หรือสามารถติดตามที่เว็บหลักของเขาครับทางนี้เลย http://laraveltut.com/

แล้วมาเขียนอธิบายเพิ่มเติมครับจึงอยากแชร์ต่อไว้โดยผมจะพยายามเขียนอธิบายคนที่ไม่เคยใช้หรือไม่เข้าใจมาก่อน หากมีคำถามใดๆสามารถเขียน comment ถามไว้ได้เลยครับถ้าผมว่าจะตอบทันที

 

 

 

 

admin
เป็นโปรแกรมเมอร์ที่ตามหาคุณค่าของชีวิตและความฝันในวัยเด็ก ชอบเล่นเกม เรียนรู้ทุกอย่าง ชอบเจอคนใหม่ๆ งานสังคมทุกชนิด ออกกำลังกายในวันว่าง อ่านหนังสือ มีเว็บรีวิวด้วย www.readraide.in.th
//www.oxygenyoyo.com
Top