input("username")->rules("required|length[4,32]"); $form->password("password")->rules("required|length[5,40]"); $form->submit("Login"); print $form->render("login.html", true); } public function process() { $form = new Forge("login.html", true); $form->input("username")->rules("required|length[4,32]"); $form->password("password")->rules("required|length[5,40]"); $form->submit("Login"); $response = array(); if ($form->validate()) { // Load the user $user = ORM::factory("user")->where("name", $form->username->value)->find(); if (!$user->loaded) { $response["error_message"] = "Invalid username or password"; } else { if (user::is_correct_password($user,$form->password->value)) { user::login($user); $response["error_message"] = ""; } else { $response["error_message"] = "Invalid username or password"; } } } else { $response["error_message"] = "Invalid username or password"; } print json_encode($response); } public function logout() { try { Session::instance()->destroy(); } catch (Exception $e) { Kohana::log("error", $e); } print json_encode(array("logout" => true)); } }