用GO写一个网页代码,要有用户登录功能,包括用户名,密码输入框等
时间: 2024-03-22 22:42:56 浏览: 15
好的,以下是一个简单的使用 Go 编写的网页代码,包含了用户登录功能:
```go
package main
import (
"fmt"
"html/template"
"net/http"
)
type User struct {
Username string
Password string
}
var users = []User{
{Username: "user1", Password: "password1"},
{Username: "user2", Password: "password2"},
{Username: "user3", Password: "password3"},
}
func main() {
http.HandleFunc("/", handleIndex)
http.HandleFunc("/login", handleLogin)
http.ListenAndServe(":8080", nil)
}
func handleIndex(w http.ResponseWriter, r *http.Request) {
t, _ := template.ParseFiles("index.html")
t.Execute(w, nil)
}
func handleLogin(w http.ResponseWriter, r *http.Request) {
username := r.FormValue("username")
password := r.FormValue("password")
for _, user := range users {
if user.Username == username && user.Password == password {
fmt.Fprintf(w, "Welcome, %s!", username)
return
}
}
fmt.Fprint(w, "Invalid username or password!")
}
```
其中,`User` 结构体定义了用户名和密码的字段,`users` 变量存储了一些用户的信息。`handleIndex` 函数处理网站首页的请求,它会渲染一个名为 `index.html` 的模板文件;`handleLogin` 函数处理用户登录的请求,它会从请求中获取用户名和密码,并与 `users` 变量中的数据进行比对,如果匹配成功,则返回欢迎信息,否则返回错误信息。
你可以将以上代码保存为 `main.go` 文件,创建一个名为 `index.html` 的模板文件,然后使用以下命令在本地启动服务器:
```
go run main.go
```
然后在浏览器中访问 `http://localhost:8080/`,你应该可以看到一个包含用户名和密码输入框的网页。在输入正确的用户名和密码后点击登录按钮,页面将会显示欢迎信息。