package main import ( "log" "net/http" ) func IndexHandler(w http.ResponseWriter, r *http.Request) { session, err := store.Get(r, "_SID") if err != nil { log.Println(err) } flash := Flash{} flash.Error = session.Flashes("error") flash.Success = session.Flashes("success") session.Save(r, w) /* index := mainTempl.Lookup("index.html") err = index.ExecuteTemplate(w, "index.html", flash) if err != nil { log.Println(err) http.Error(w, err.Error(), http.StatusInternalServerError) return } */ err = ExecTemplate("index.html", w, flash) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } session.Save(r, w) } func RegisterHandler(w http.ResponseWriter, r *http.Request) { session, err := store.Get(r, "_SID") if err != nil { log.Println(err) } flash := Flash{} flash.Error = session.Flashes("error") flash.Success = session.Flashes("success") session.Save(r, w) err = ExecTemplate("register.html", w, flash) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } session.Save(r, w) } func CreateNewEntryHandler(w http.ResponseWriter, r *http.Request) { err := r.ParseForm() if err != nil { log.Panic(err) http.Error(w, err.Error(), http.StatusInternalServerError) return } req := Request{} err = decoder.Decode(&req, r.PostForm) if err != nil { log.Panic(err) http.Error(w, err.Error(), http.StatusInternalServerError) return } session, err := store.Get(r, "_SID") if err != nil { log.Println(err) } if !CompareStrings(req.Email, req.ConfirmEmail) { session.AddFlash("E-Mail don't match.", "error") session.Save(r, w) http.Redirect(w, r, "/", 302) return } if !CompareStrings(req.Password, req.ConfirmPassword) { session.AddFlash("Passwords don't match.", "error") session.Save(r, w) http.Redirect(w, r, "/", 302) return } req.Password = Md5Hash(req.Password) err = CreateNewEntry(req.Email, req.Password) if err != nil { session.AddFlash(err.Error(), "error") session.Save(r, w) http.Redirect(w, r, "/", 302) return } session.AddFlash("Success! You can login now with your new mail account.", "success") session.Save(r, w) http.Redirect(w, r, "/", 302) }