Dev to webs {Coding…}

ร บทเรียนฟรีด้านการพัฒนาซอฟต์แวร์ ที่ครอบคลุมเนื้อหาหลากหลาย ตั้งแต่การเขียนโค้ดพื้นฐานไปจนถึงเทคนิคขั้นสูง

บทที่ 32: การส่งข้อมูลจากฟอร์มผ่าน Request

🔹 เกริ่นนำ

เมื่อผู้ใช้กรอกข้อมูลในฟอร์มและกด submit ข้อมูลจะถูกส่งมายัง server ผ่าน HTTP request โดย Laravel มีระบบที่ช่วยให้การรับข้อมูลจากฟอร์มเป็นเรื่องง่ายและปลอดภัย

ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีการส่งข้อมูลจากฟอร์มแบบ POST และดึงข้อมูลในฝั่ง Controller โดยใช้ Request ของ Laravel ทั้งแบบทั่วไปและแบบ Dependency Injection

🔸 ตัวอย่างการส่งข้อมูลด้วย POST

1. ฟอร์มใน Blade Template
<form action="/register" method="POST">
    @csrf
    <input type="text" name="name">
    <input type="email" name="email">
    <button type="submit">Register</button>
</form>

2. Controller Method แบบทั่วไป
use Illuminate\Http\Request;

public function register(Request $request)
{
    $name = $request->input('name');
    $email = $request->input('email');
    
    // ใช้งานข้อมูลตามต้องการ เช่น บันทึกลงฐานข้อมูล
}

3. แบบ Inject โดยตรงในพารามิเตอร์
public function register(Request $request)
{
    $data = $request->only(['name', 'email']);
    // $data['name'], $data['email']
}

💡 คุณสามารถใช้ $request->all() เพื่อดึงข้อมูลทั้งหมด หรือใช้ $request->has('key') ตรวจสอบว่ามี key นั้นหรือไม่