---
title: "Förhindra uppdatering av kontouppgifter om e-postadressen redan finns?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/169733-förhindra-uppdatering-av-kontouppgifter-om-e-postadressen-redan-finns"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "medialabs"
published: "2008-03-09T11:22:20.000Z"
updated: "2008-03-09T11:54:37.000Z"
replies: 1
views: 351
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/169733-förhindra-uppdatering-av-kontouppgifter-om-e-postadressen-redan-finns"
---

# Förhindra uppdatering av kontouppgifter om e-postadressen redan finns?

## #1 — medialabs, 2008-03-09T11:22Z

Hej,

Upptäckte en "brist" i min kodning inatt när jag satt och testkörde webbplatsen efter buggar.

Jag har gett användarna möjlighet att uppdatera sina uppgifter, som för- och efternamn samt e-postadess. Och det är just möjligheten att ändra e-postadressen mot en ny som det blir knas med!

Scenario:

Användaren1 anger en ny e-postadress, <mail@mail.com> MEN Användaren2 har redan angett den e-postadressen för sitt konto! Det som händer är att jag nu får två stycken användare med samma e-postadress och detta kan man sedan missbruka t.ex. genom att "glömt lösenord"-funktion få ett nytt lösenord genererat till sig och då sätts samma lösenord till både Användare1 och Användare2.

(jag ska ändra "glömt lösenord"-funktionen så att man också måste ange användarnamnet också.)

**Jag vill ju låta dom byta e-postadress, men inte mot ett som en annan medlem redan har angett.** Jag använder följande när användaren uppdaterar sina kontouppgifter.

```
'# Öppna databasanslutning till MySQL-servern.

	Set Con = Server.CreateObject("ADODB.Connection")
	    Con.Open "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=; DATABASE=; USER=; PASSWORD=; OPTION=3;"

'# Uppdatera kontouppgifterna för användaren.

	strSQL = "UPDATE tbluppgifter SET strfname = '" & fname & "', strlname = '" & lname & "', strepost = '" & epost & "' WHERE strid = " & session("id")

		Con.Execute strSQL, , 128

	Con.Close
	Set Con = Nothing

	Session("Service") = "<div align=""center""><p><i>Dina kontouppgifter har uppdaterats!</i><p></div>"
	Response.Redirect "/x/konto.asp"
```

Permalänk: https://www.webforum.nu/p/169733

## #2 — tydal, 2008-03-09T11:54Z

Du vill alltså att e-postadressen ska vara unik? Enklaste sättet är att tala om det för databasen så håller den reda på det och ger ett felmeddelande om någon försöker byta till en e-postadress som redan finns...

ALTER TABLE tbluppgifter ADD UNIQUE (epost);

Permalänk: https://www.webforum.nu/p/2086992

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/169733-förhindra-uppdatering-av-kontouppgifter-om-e-postadressen-redan-finns
