registerUser: async (req, res) => {
    const { email, rpassword, confirm_password, fname, lname } = req.body;

    // ตรวจสอบว่ารหัสผ่านทั้งสองตรงกันหรือไม่
    if (rpassword !== confirm_password) {
        req.flash('message', 'Passwords do not match!');
        return res.redirect('/register');
    }

    try {
        // ตรวจสอบว่าอีเมลมีอยู่ในระบบหรือไม่
        const [existingUser] = await pool.execute('SELECT * FROM users WHERE email = ?', [email]);
        if (existingUser.length > 0) {
            req.flash('message', 'Email is already registered.');
            return res.redirect('/register');
        }

        // แฮชรหัสผ่าน
        const hashedPassword = await bcrypt.hash(rpassword, 10);

        // บันทึกข้อมูลผู้ใช้ในฐานข้อมูล รวมทั้ง fname และ lname
        const query = 'INSERT INTO users (email, password, fname, lname) VALUES (?, ?, ?, ?)';
        await pool.execute(query, [email, hashedPassword, fname, lname]);

        // ส่งข้อความแจ้งเตือนและเปลี่ยนเส้นทางไปที่หน้า login
        res.redirect('/login');
    } catch (err) {
        console.error('Error inserting user:', err);
        res.status(500).send('Error occurred');
    }
}