---
title: "Registerings sida!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/92922-registerings-sida"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "magnusfernstrom"
published: "2003-12-17T16:34:31.000Z"
updated: "2003-12-18T08:10:35.000Z"
replies: 22
views: 413
page: 1
pages: 2
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/asp/92922-registerings-sida"
---

# Registerings sida!

_Sida 1 av 2._

## #1 — magnusfernstrom, 2003-12-17T16:34Z

Hejsan!

Jag har lite problem med en sida som man skall kunna registrera sig på.

koden ser ut såhär:

```
<%
if Request.QueryString("action") = "register" then

Set db = server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("db.mdb")
SQL = "SELECT anv FROM members WHERE anv = '" & username & "'"
Set rs = db.Execute(SQL)

if rs.EOF or rs.BOF then 

SQL = "INSERT INTO members (anv,pass,email,hemsida,bild,namn,presentation) VALUES ('" & Request.Form("username") & "', '" & Request.Form("password") & "', '" & Request.Form("namn") & "', '" & Request.Form("email") & "', '" & Request.Form("hemsida") & "', '" & Request.Form("bild") & "', '" & Request.Form("presentation") & "')"

db.Execute(SQL)

Response.Redirect("klart.asp")

else 

Response.write "Upptaget!"

end if

end if
%> 
<html>
<form name="frmRegister" method="post" action="register.asp?action=register">
Användarnamn:
<br>
<input type="text" name="username">
<br>
Lösenord:
<br>
<input type="password" name="password">
<br>
Namn:
<br>
<input type="text" name="namn">
<br>
E-mail:
<br>
<input type="text" name="email">
<br>
Hemsida:
<br>
<input type="text" name="hemsida" value="http://">
<br>
Bild:
<br>
<input type="text" name="bild">
<br>
Presentation:
<br>
<textarea name="presentation" cols="45" rows="7"></textarea>
<br>
<input type="submit" value="Registrera"> 
</form>
</html>
```

Problemen är följande:

När jag inte matar in något i fälten så blir det "error 500"
När jag matar in ' blir det också "error 500".
Jag hade replace kod innan, men den fungerade inte så jag tog bort den.

Frågan är nu, Varför blir det fel när fälten är tomma?
Och hur ser en korrekt replacekod ut?

Tacksam för svar.

Mvh Magnus Fernström

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

## #2 — solbulle, 2003-12-17T16:44Z

Slå av egna felmeddelanden i webläsaren.

username får aldrig något värde.

username = request.form("username") osv

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

## #3 — magnusfernstrom, 2003-12-17T16:49Z

Så en korrekt replace kod skulle alltså se ut på följande vis?

```
username = request.form("username")
username = Replace(Request.Form("username"), "'", "''")
```

Eller räcker det med 

```
username = Replace(Request.Form("username"), "'", "''")
```

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

## #4 — magnusfernstrom, 2003-12-17T16:57Z

Ok, det problemet med felmeddelandet vid tomma fält fixade sig.
Jag hade inte tillåtit tomma fält i databasen. Så det är löst.
Men replace koden är det fortfarande problem med.
Några lösningar?

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

## #5 — @nders, 2003-12-17T17:20Z

> **magnusfernstrom skrev:**
>
> Eller räcker det med 
>
>
> ```
> username = Replace(Request.Form("username"), "'", "''")
> ```

Det räcker. Du kan med fördel göra en funktion av replacen dock, så den är lättare att återanvända.

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

## #6 — magnusfernstrom, 2003-12-17T17:31Z

Och hur skall jag gå tillväga då?

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

## #7 — @nders, 2003-12-17T17:36Z

Vad är problemet med replace-koden då? :q

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

## #8 — magnusfernstrom, 2003-12-17T17:42Z

Tja! Den vill helt enkelt "replaca" tecknet! :)

Ni kan ju pröva <http://www24.brinkster.com/themad/db/register.asp>

Koden är densamma som förut fast jag har lagt till replace koden.

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

## #9 — Jesper T, 2003-12-17T17:45Z

> **magnusfernstrom skrev:**
>
> Och hur skall jag gå tillväga då?

```
Function SQLEncode(ByVal sString)
	SQLEncode = Replace(trim(sString), "'", "''")
End Function
```

Response.write SQLEncode("'hackerkod'")

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

## #10 — magnusfernstrom, 2003-12-17T17:47Z

Ok tack Jesper T.
Men nu skall jag var riktigt jobbig.
Om jag vill ersätta koden med :

username = Replace(Request.Form("username"), "'", "''")

Hur gör jag då?
För det fungerar ju inte!
Pröva själv.

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

## #11 — solbulle, 2003-12-17T17:48Z

Är du helt hundra på att du kör replacen i denna rad:

SQL = "INSERT INTO members (anv,pass,email,hemsida,bild,namn,presentation) VALUES ('" & Request.Form("username") & "', '" & Request.Form("password") & "', '" & Request.Form("namn") & "', '" & Request.Form("email") & "', '" & Request.Form("hemsida") & "', '" & Request.Form("bild") & "', '" & Request.Form("presentation") & "')"

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

## #12 — solbulle, 2003-12-17T17:49Z

username = SQLEncode(request.form("username"))

Du kan ju köra funktionen direkt i din sqlfråga också.

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

## #13 — magnusfernstrom, 2003-12-17T17:50Z

Åh herregud!
Nej det gör jag ju inte :r  x( 

Så hur skall då koden se ut för det?

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

## #14 — magnusfernstrom, 2003-12-17T17:51Z

Ursäkta att jag frågar er om koden och allt det där.
Men jag kan ju inget om sånt här :)

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

## #15 — solbulle, 2003-12-17T17:51Z

```
SQL = "INSERT INTO members (anv,pass,email,hemsida,bild,namn,presentation) VALUES ('" & SQLEncode(request.Form("username")) & "', '" & SQLEncode(request.Form("password")) & "', '" & SQLEncode(request.Form("namn")) & "', '" & SQLEncode(request.Form("email")) & "', '" & SQLEncode(request.Form("hemsida")) & "', '" & SQLEncode(request.Form("bild")) & "', '" & SQLEncode(request.Form("presentation")) & "')"
```

Kanske...

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

## #16 — magnusfernstrom, 2003-12-17T18:01Z

Tack så hemskt mycket; solbulle, Jesper T och @nders.
Hoppas det skall fungera nu.
Återkommer om det uppstår fler problem.

Mvh Magnus Fernström

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

## #17 — magnusfernstrom, 2003-12-17T18:15Z

Javisst!
Det fungerar som smort.
Men eftersom skapandet av något som har med webb att göra inte kan gå felfritt så.....ja.

När man skall registrera sig så blir det krångel.
Antingen så får man meddelandet om att namnet är upptaget vad man än skriver in. Eller så kan man registrera sig med samma användarnamn flera gånger.
Jag måste säga att detta är skumt.
Jag har aldrig varit med om att felet ändras.

Vad skall man göra nu då?
Någon som fortfarande orkar med mig? :P

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

## #18 — @nders, 2003-12-17T18:56Z

> **magnusfernstrom skrev:**
>
> Någon som fortfarande orkar med mig? :P

Garanterat! :)

Hur ser din kod ut nu efter alla ändringar?

Mvh

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

## #19 — magnusfernstrom, 2003-12-17T22:35Z

Ok, så här ser koden ut nu:

```
<%
if Request.QueryString("action") = "register" then

Function SQLEncode(ByVal sString)
SQLEncode = Replace(trim(sString), "'", "''")
End Function

Set db = server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("db.mdb")
SQL = "SELECT anv FROM members WHERE anv = '" & username & "'"
Set rs = db.Execute(SQL)

if rs.EOF or rs.BOF then 

SQL = "INSERT INTO members (anv,pass,email,hemsida,bild,namn,presentation) VALUES ('" & SQLEncode(request.Form("username")) & "', '" & SQLEncode(request.Form("password")) & "', '" & SQLEncode(request.Form("namn")) & "', '" & SQLEncode(request.Form("email")) & "', '" & SQLEncode(request.Form("hemsida")) & "', '" & SQLEncode(request.Form("bild")) & "', '" & SQLEncode(request.Form("presentation")) & "')"

db.Execute(SQL)

Response.Redirect("klart.asp")

else

Response.write "Upptaget!"

end if

end if
%> 
<html>
<form name="frmRegister" method="post" action="register.asp?action=register">
Användarnamn:
<br>
<input type="text" name="username">
<br>
Lösenord:
<br>
<input type="password" name="password">
<br>
Namn:
<br>
<input type="text" name="namn">
<br>
E-mail:
<br>
<input type="text" name="email">
<br>
Hemsida:
<br>
<input type="text" name="hemsida" value="http://">
<br>
Bild:
<br>
<input type="text" name="bild">
<br>
Presentation:
<br>
<textarea name="presentation" cols="45" rows="7"></textarea>
<br>
<input type="submit" value="Registrera"> 
</form>
</html>
```

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

## #20 — @nders, 2003-12-18T07:29Z

Du sätter aldrig variabeln *username* innan du försöker använda den i SQL-frågan.

```
Function SQLEncode(ByVal sString)
SQLEncode = Replace(trim(sString), "'", "''")
End Function

[b]username = SQLEncode(Request.Form("username"))[/b]

Set db = server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("db.mdb")
SQL = "SELECT anv FROM members WHERE anv = '" & username & "'"
```

mvh

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/92922-registerings-sida  
Nästa sida: https://www.webforum.nu/amne/asp/92922-registerings-sida/page2.md
