Vi får först reda ut några saker. Kanske har jag missuppfattat dig.
Du har en tabell med alla användarna. Av din kod (om det stämmer) kan jag se att tabellen har kolumnerna id, username, password, e-post, mm.
Vad är id kolumnen för fält?
Om jag hade designat tabellen hade id kolumnen varit nyckel med en automatisk uppräkning. Alla användarna får ett unikt nummer.
Är det så?
I annat fall, vad har fältet för funktion?
men vad menar du först med "Spara undan id fältet i sessionen"?
Jag ser att du läser username från sessions-objektet.
SQL = "Select * From users Where username = '" & session("username") & "'"
Det betyder att du vid inloggningen sparar undan username i sessionen, eller?
OM nu id fältet är unikt för varje användare bör du göra samma sak med de. Dvs spara undan det i sessions-objektet.
Låt säga att nu id fältet INTE är vad jag tror. Det är då ingen stor sak att ändra din kod, bort med id kolumnen från dina selects.
Vad du nu måste se till är att två användare inte väljer samma username. När du i andrat.asp uppdaterar användaren måste du, OBS! Bara om användaren ändrar sitt username, kontrollera att det nya namnet inte är upptaget.
Du får inte glömma bort att ändra session("username") och session("password") med de nya värdena.
-- hamta.asp --
Ändra
SQL = "select * from users where id =" & session("id")
Till
SQL = "select * from users where username =" & session("username")
-- andra.asp --
1. Gör först kontrollen nya username är ledig
2. Ändra
SQL = "UPDATE users SET password = '" & request.form("password") & "', e-post = '" & request.form("e-post") & "', namn = '" & request.form("namn") & "', efternamn = '" & request.form("efternamn") & "', mobil = '" & request.form("mobil") & "', bor = '" & request.form("bor") & "', fakta = '" & request.form("fakta") & "' WHERE id = '" & session("id") & "'"
Till
SQL = "UPDATE users SET username = '" & request.form("username") & "', password = '" & request.form("password") & "', e-post = '" & request.form("e-post") & "', namn = '" & request.form("namn") & "', efternamn = '" & request.form("efternamn") & "', mobil = '" & request.form("mobil") & "', bor = '" & request.form("bor") & "', fakta = '" & request.form("fakta") & "' WHERE username = '" & session("username") & "'"
Observera att jag även uppdaterar username. Jag söker fram användaren med hjälp av sessionens username, inte formulärets.
3. Spara undan username och password i sessionen.
/Nu har du två alternativ.