🔹 เกริ่นนำ
เมื่อผู้ใช้กรอกข้อมูลในฟอร์มและกด 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 นั้นหรือไม่