สอน-laravel-framework

สอน Laravel 5 : สร้าง html form ส่งข้อมูลแบบ POST

สอน Laravel 5 : สร้าง html form ส่งข้อมูลแบบ POST



การสร้างแบบฟอร์มเพื่อรับข้อมูลแบบ POST จากผู้ใช้งานเว็บไซต์ และส่งข้อมูลนั้นไปยังส่วนของการบันทึกข้อมูล
หรือส่วนของ controller สำหรับใน Laravel framework มีขั้นตอนที่ไม่ได้ยุ่งยากอะไรมาก เราสามารถ
ทำได้ด้วยการสร้าง html form แบบทั่วไปและชี้ action ไปที่ controller method นั้น ๆ ผ่านการ
กำหนดที่ router ได้เลย


สร้าง html form ส่งข้อมูลแบบ POST

สร้างไฟล์ register.blade.php วางไฟล์ไว้ที่ resources/views/register.blade.php เป็นการสร้างฟอร์มให้ผู้ใช้งานเว็บ
ทำการกรอกข้อมูล จากนั้นเมื่อมีการกดปุ่ม submit ข้อมูลจะถูกส่งไปที่ Router register แบบ POST
โดยในฟอร์มจะสังเกตุว่ามีตัวแปรอยู่ 2 ตัวคือตัวแปร name เป็นการรับค่า input text จากผู้ใช้งาน
ส่วนตัวแปร _token เป็นการส่งตัวแปรตรวจสอบค่าเพื่อป้องกันการโจมตีแบบ CSRF ซึ่งเป็นคุณสมบัติที่ติด
มากับ Laravel framework


สร้าง Router Method ไว้รอรับข้อมูลแบบ POST

สร้าง Register Method ที่ Router ที่ไฟล์ app/Http/routes.php ไว้รอรับตัวแปรแบบ POST
จากนั้นใช้ Request คลาสเพื่อรับข้อมูลแบบ input post อย่าลืมทำการเรียกใช้งานตัว Request คลาส
ด้วยคำสั่ง use Illuminate\Http\Request

เราสามารถ return ค่าออกไปแสดงที่ view ได้ในรูปแบบของ array ดังนี้

และเมื่ออยู่ที่ view เราสามารถแสดงค่าตัวแปร name โดยใช้ syntax ของ Blade template ได้ดังนี้

หรือจะเขียนโดยใช้ php echo ธรรมดาแบบนี้ก็ได้

จากตัวอย่างด้านบนเป็นการส่งค่า POST Data จาก html form view มาที่ Router Method และ
ทำการ return ค่าออกไปแสดงที่ register view ทันที แต่ในการทำงานจริงเราจะไม่ใช้วิธีรับค่าโดยตรง
ผ่าน Router แต่จะเป็นการชี้ collback function ไปที่ controller และรับค่าตัวแปรทั้งหมดใน
controller นั้น ๆ แทน หลังจากได้ตัวแปรทั้งหมดเราจะทำงานให้เสร็จภายใน controller นั้น ๆ เสียก่อน
เช่นอาจจะบันทึกข้อมูลลงฐานข้อมูลหรือประมวลผลในรูปแบบอื่น ๆ ก่อน เสร็จแล้วค่อย คืนค่ากลับไปที่ view
ในบทความต่อไป เราจะมาทดสอบการทำงานรวมกันระหว่าง view -> router -> controller

กระทู้ใกล้เคียง

สอน Laravel 5 : ใช้งาน Controller ร่วมกับ Router... สอน Laravel : ใช้งาน Controller ร่วมกับ Router โดยทั่วไปแล้ว Controller คือหัวใจหลักของการทำงานใน PHP MVC Framework เป็นส่วนที่ทำหน้าที่เชื่อมโยง ...
สอน Laravel 5 : การใช้งานไฟล์ assets ต่าง ๆ ใน Vie... สอน Laravel 5 : การใช้งานไฟล์ assets ต่าง ๆ ใน View จากบทความที่แล้ว เราได้ทำความเข้าใจเกี่ยวกับ Router ใน Laravel ซึ่งมีบทบาทที่สำคัญมาก ๆ สำหรับน...
สอน Laravel 5 : กำหนดเส้นทางเว็บไซต์ด้วย Router... สอน Laravel 5 ตอน : กำหนดเส้นทางเว็บไซต์ด้วย Router Router เป็นส่วนที่มีไว้เพื่อกำหนดเส้นทางการทำงานของเว็บไซต์ ตัวอย่างเช่นเมื่อมีคนเข้าชมเว็บไซต์...
สอน Laravel 5 : ทำเว็บไซต์ 2 ภาษาง่าย ๆ กับ Larave... สอน Laravel 5 : ทำเว็บไซต์ 2 ภาษาง่าย ๆ กับ Laravel หลักการทำเว็บไซต์ 2 ภาษาหรือมากกว่า 2 ภาษา ใน Laravel 5 โดยโครงสร้างการทำงานแล้วไม่ได้ต่างจาก ...