Martin Jørgensen skrev:
> Set rs = Conn.execute ("SELECT * FROM user WHERE mail='" & mail &
> "'")
Lille note - hvis din kode skal virke efter hensigten, skal der også lige
lægges en værdi i variablen mail (fx mail = Request.Querystring("mail"))
> Jeg kan godt få det til at virke, men kun hvis oplysningerne
> sendes til en ny side, jeg vil gerne have at det skal valideres
> på den indtastet side, er der en nem måde jeg kan gøre det på?
Du kan sagtens have det på samme side som selve indtastningen. Det letteste
vil være at integrere tjek-funktionen i den funktion der opretter en mail i
usertabellen. I pseudokode:
If <der er indtastet en mailadresse> Then
' Tjek om adressen i forvejen ligger i tabellen
sql = "SELECT mail FROM user WHERE mail = '" & mail & "'"
set rs = conn.execute(sql)
If rs.EOF Then
' Opret brugeren
Else
' Giv besked om at mailadressen allerede er tilmeldt.
End If
End If
Man kan også gøre det en smule mere avanceret ved at bruge fejlhåndtering.
Her benytter man sig af muligheden for at lægge et unikt indeks på
mail-feltet (det sikrer også mod at man får dubletter ind), samt af
muligheden for selv at håndtere asp-fejl.
I pseudokode ser det sådan ud:
' Slå automatisk fejlhåndtering fra
On Error Resume Next
If <der er indtastet en mailadresse> Then
' Prøv at oprette brugeren
sql = "INSERT INTO user (mail) VALUES ('" & mail & "')"
Conn.Execute (sql)
' Tjek for fejl
Select Case Err.Number
Case 0
' Alt i orden - giv besked om oprettelsen
Case <fejlkode ved dubletter>
' Mailadressen eksisterer i forvejen, giv besked
Case Else
' Ukendt fejl - giv. evt. besked vha. Err-objektet
End Select
End If
Den fejlkode man skal bruge i select case-sætningen er let at finde ved at
slå asp-fejlhåndteringen til igen (udkommenter On Error-linjen). Så får man
asp-parserens egen beskrivelse af fejlen - incl. fejlkoden. Den kan man så
sætte ind så man kan give sine brugere en "pænere" besked.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på
http://usenet.dk/netikette/citatteknik.html