package main
import (
"fmt"
"net/http"
"github.com/gin-gonic/gin"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
type User struct {
gorm.Model
Username string `gorm:"uniqueIndex"`
Password string
}
func main() {
db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{})
if err != nil {
panic("无法连接数据库")
}
db.AutoMigrate(&User{})
router := gin.Default()
router.LoadHTMLGlob("templates/*")
router.GET("/", func(c *gin.Context) {
c.HTML(http.StatusOK, "login.html", nil)
})
router.POST("/login", func(c *gin.Context) {
username := c.PostForm("username")
password := c.PostForm("password")
var user User
result := db.Where("username = ?", username).First(&user)
if result.Error != nil || user.Password != password {
c.HTML(http.StatusOK, "login.html", gin.H{
"Error": "用户名或密码错误",
})
return
}
c.HTML(http.StatusOK, "home.html", gin.H{
"Username": user.Username,
})
})
router.Run(":8080")
}
Go 语言实现的简单 WEB 登录应用程序的示例,该程序使用了 Gin 框架和 Gorm ORM
最新推荐文章于 2024-06-07 09:46:48 发布