$page]); } public function contact() { $sent = false; $error = null; if ($this->request->getPost('submit')) { $name = trim((string) $this->request->getPost('name')); $email = trim((string) $this->request->getPost('email')); $message = trim((string) $this->request->getPost('message')); $honey = trim((string) $this->request->getPost('website')); if ($honey !== '') { $sent = true; // honeypot: silently accept } elseif (! $name || ! filter_var($email, FILTER_VALIDATE_EMAIL) || mb_strlen($message) < 10) { $error = 'Vui lòng điền đầy đủ và đúng định dạng các trường.'; } else { // store in mongo (no mail server in local dev) \App\Libraries\Mongo::col('contact_messages')->insertOne([ 'name' => $name, 'email' => $email, 'message' => $message, 'ip' => $this->request->getIPAddress(), 'at' => new \MongoDB\BSON\UTCDateTime(), 'handled' => false, ]); $sent = true; } } return view('pages/contact', ['sent' => $sent, 'error' => $error]); } }