//Login page func (c *UserController) Login(rw http.ResponseWriter, r *http.Request, p httprouter.Params) { if r.Method == "GET" { // if logged in, go to profile / else login page RedirectToLogin(c, rw, r, p) } else if r.Method == "POST" { r.ParseForm() username := strings.ToLower(r.FormValue("username")) password := r.FormValue("password") newUser := models.User{ Username: username, Password: password} newUser.ValidateLogin() if newUser.Message != "" { newUser.Username = "" c.HTML(rw, http.StatusOK, "user/login", newUser) return } if !CheckForExistingUsername(&newUser) { //User Exists if CheckForMatchingPassword(&newUser) { //Passwords Match //Open Session and forward back to front page newUser.Message = "Passwords match." setSession(newUser.Username, rw) c.HTML(rw, http.StatusOK, "user/loggedIn", newUser) return } else { newUser.Message = "Password doesn't match record for " + newUser.Username } } else { //User Doesn't exist newUser.Message = "User " + newUser.Username + " doesn't exist." } c.HTML(rw, http.StatusOK, "user/login", newUser) } }