Browse Source

полная обработка логина

toomanysugar 3 years ago
parent
commit
957af22c88
3 changed files with 35 additions and 12 deletions
  1. 1 1
      connector.go
  2. 23 3
      main.go
  3. 11 8
      www/login.html

+ 1 - 1
connector.go

@@ -52,7 +52,7 @@ func (c connection) LogIn(username string, password string) bool{
 	defer db.Close()
 
 	var counter int
-
+	fmt.Printf("%s\n%s\n", username, password)
 	act_query := "SELECT count(*) FROM gosite.users WHERE username='" + username + "' AND password='" + password + "';"
 	db.QueryRow(act_query).Scan(&counter)
 	fmt.Println("we have", counter, "rows")

+ 23 - 3
main.go

@@ -11,7 +11,7 @@ import (
 	"html/template"
 	"github.com/gorilla/mux"
 	"github.com/gorilla/sessions"
-	
+
 
 )
 
@@ -79,7 +79,16 @@ func indexPostHandler(w http.ResponseWriter, r *http.Request) {
 }
 
 func logInGetHandler(w http.ResponseWriter, r *http.Request) {
-	logInTemplate.Execute(w, nil)
+	data := struct {
+		Username string
+		Password string
+		Error string
+	}{
+		Username: "",
+		Password: "",
+		Error: "",
+	}
+	logInTemplate.Execute(w, data)
 }
 
 func logInPostHandler(w http.ResponseWriter, r *http.Request) {
@@ -97,7 +106,18 @@ func logInPostHandler(w http.ResponseWriter, r *http.Request) {
 		fmt.Printf("%s\n%s\n",username,password)
 		http.Redirect(w, r, "/", http.StatusFound)
 	} else {
-		logInTemplate.Execute(w, nil)
+		data := struct {
+			Username string
+			Password string
+			Error string
+		}{
+			Username: username,
+			Password: password,
+			Error: "Неверный логин либо пароль",
+		}
+		fmt.Printf("Login error")
+		logInTemplate.Execute(w, data)
+		//w.Write([]byte("Login error"))
 	}
 }
 

+ 11 - 8
www/login.html

@@ -7,15 +7,18 @@
 	<body>
 		<h1>LOGIN</h1>
 		<form method="POST">
-			Логин: <input name="username">
-			<br>
-			<br>
-			Пароль: <input name="password">
-			<div>
-				<br>
-				<br>
+			<p>
+				Логин: <input name="username" value="{{.Username}}">
+			</p>
+			<p>
+				Пароль: <input name="password" value="{{.Password}}">
+			</p>
+			<p>
 				<button type="submit">Войти</button>
-			</div>
+			</p>
+			{{if .Error}}<p>
+				{{.Error}}
+			</p>{{end}}
 		</form> 
 	</body>
 </html>