1

I have defined global variable of universitySelected and domain at the top of my code, however, the universitySelected value was overwritten after email := c.FormValue("email").

For example, the universitySelected was "Harvard University" but after email := c.FormValue("email"), the universitySelected became "ex@harvard.edusity"

Here is how I defined my global variable and where it get overwritten

var universitySelected string
var domain string


func HandleRegistration(c *fiber.Ctx) error {
    // Get the form values
    email := c.FormValue("email")
    password := c.FormValue("password")
    

    if !strings.Contains(email, ".edu") {

        return c.Render("signup", fiber.Map{
            "UniversityName": universitySelected
            "UniversityDomain": domain,
            "ErrorMessage":     "Email Domain Not Supported",
        })
    }
.
.
.

Here is how I get universitySelected value

func HandleUniversitySelection(c *fiber.Ctx) error {
    universitySelected = c.FormValue("university")
    err := db.QueryRow("SELECT domain FROM universities WHERE name = $1", universitySelected).Scan(&domain)
    if err != nil {
        return err
    }

    return c.Render("signup", fiber.Map{
        "UniversityName": universitySelected,
        "UniversityDomain": domain,
    })

cyw
  • 63
  • 6
  • better to put log in HandleUniversitySelection and check Is this also get called when invoking HandleRegistration – Ravat Tailor Dec 29 '22 at 10:46
  • Tried to put log in HandleUniversitySelection and it wasn't called after first time. I used other way to get the data I wanted. – cyw Jan 03 '23 at 04:11

0 Answers0