---
title: "Har jag blevit glömsk?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/71413-har-jag-blevit-glömsk"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "voigtann1"
published: "2003-03-17T20:31:51.000Z"
updated: "2003-03-18T07:08:43.000Z"
replies: 16
views: 527
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/asp/71413-har-jag-blevit-glömsk"
---

# Har jag blevit glömsk?

## #1 — voigtann1, 2003-03-17T20:31Z

```
  warhammer = request("warhammer")
  computer = request("computer")

  if computer = false and warhammer = false then
    response.write "<tr class=""mess3""><td>Du måste göra något på lan:et</td></tr>"
    response.end
  end if

  SQL = "Select username,id from users where username = '" & vnamn &"'"
  set recset = databas.execute(SQL)
  id = recset("id")
  recset.close
  set recset = nothing

  SQL = "SELECT * FROM lan"
  set recset = databas.execute(SQL)
    do until recset.eof
    usern =recset("username")
    vilket_lan = recset("vilket_lan")
      if (usern = id) AND datediff("d",vilket_lan,nextlan2) = 0 then
        response.write "Du är ju redan med!"
        response.end
      end if
    recset.movenext
    loop

if warhammer = "" then
warhammer = "false"
end if

if computer = "" then
computer = "false"
end if

  SQL = "INSERT INTO lan "
  SQL = SQL & "(username, betalt, warhammer,dator, vilket_lan) "
  SQL = SQL & "VALUES('" & id & "', false, " & warhammer & ", " &computer& ", #" &nextlan2& "#)"
  response.write SQL
  databas.Execute SQL
  response.redirect "list.asp"
```

Höll på med denna kod ett bra tag.. det är SQL satsen som jag är lite fundersam på.. om jag har en checkbox som jag inte kryssa i så "bör" den väll bli False.. men som ni ser måste jag ge warhammer och Computer false längst ner för att SQL:en vill köra.. detta tror jag inte jag har behövt innan.. vad har jag gjort för fel?

jag tycket denna kod är otroligt klumpig(har prov imorgon så min förklaring är att jag inte har haft all tid) :D

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

## #2 — LarsG, 2003-03-17T20:40Z

Allt i collections i request är strängar.

Om du vill testa om en checkbox inte är ikryssad.

```
if len(request.form("warhammer")) = 0 then
```

```
SQL = "SELECT * FROM lan"
  set recset = databas.execute(SQL)
    do until recset.eof
    usern =recset("username")
    vilket_lan = recset("vilket_lan")
      if (usern = id) AND datediff("d",vilket_lan,nextlan2) = 0 then
        response.write "Du är ju redan med!"
        response.end
      end if
    recset.movenext
    loop
```

lägg villkoren i select-satsen och ta bort loopen.

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

## #3 — Sebbe, 2003-03-17T20:42Z

```
If warhammer = "" Then
  warhammer = False
End If

If computer = "" Then
  computer = False
End If
```

Eftersom du hade gjort booleerna till stängar innan kan SQL-tolken inte tolka frågan eftersom du inte lagt variablerna warhammer och computer innanför ' '. (Kanske lite flummigt förklarat?)

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

## #4 — voigtann1, 2003-03-17T20:51Z

```
if request.querystring("function") = "signup" then

  if request("warhammer") = false and request("computer") = false then
    response.write "<tr class=""mess3""><td>Du måste göra något på lan:et</td></tr>"
    response.end
  end if

  SQL = "Select username,id from users where username = '" & vnamn &"'"
  set recset = databas.execute(SQL)
  id = recset("id")
  recset.close
  set recset = nothing

  SQL = "SELECT * FROM lan where username = " &id& " and vilket_lan = #" &nextlan2& "#"
  set recset = databas.execute(SQL)
  if recset.eof then
  SQL = "INSERT INTO lan "
  SQL = SQL & "(username, betalt, warhammer,dator, vilket_lan) "
  SQL = SQL & "VALUES('" & id & "', false, " & request("warhammer") & ", " &request("computer")& ", #" &nextlan2& "#)"
  response.write SQL
  'databas.Execute SQL
  'response.redirect "list.asp"

  else
  response.write "Du är ju redan med på LAN:et!"
  response.end
  end if

end if
```

Lite kortare nu.. men fortfarande '' på warhammer och computer.. SQL satsen om jag skriver ut med warhammer "true":

```
INSERT INTO lan (username, betalt, warhammer,dator, vilket_lan) VALUES('1', false, on, , #2003-04-21#)
```

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

## #5 — Jesper T, 2003-03-17T20:56Z

Skall id vara en sträng?

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

## #6 — voigtann1, 2003-03-17T21:18Z

nej... men detta hjälper inte mitt problem :e

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

## #7 — Jesper T, 2003-03-17T21:20Z

Vad är problemet då?

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

## #8 — voigtann1, 2003-03-17T21:22Z

True/false saken i \<input type="checkbox"\> tror jag:

```
  <tr>
    <td>Warhammer:</td>
    <td><input type="checkbox" name="warhammer"></td>
  </tr>
  <tr>
    <td>Datorn:</td>
    <td><input type="checkbox" name="computer"></td>
  </tr>
```

den vill inte göra om dessa till "true/false" antingen blir den "on" eller "" :(

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

## #9 — Sebbe, 2003-03-17T21:26Z

Funkar det inte bara med en Case-sats?

```
computer = CStr(Request.Form("computer"))
warhammer = CStr(Request.Form("warhammer"))

Select Case computer
  Case "on"
    computer = True
  Case ""
    computer = False
End Select

Select Case warhammer
  Case "on"
    warhammer = True
  Case ""
    warhammer = False
End Select
```

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

## #10 — Jesper T, 2003-03-17T21:28Z

Typkonvertera kanske:

```
if cBool(request("warhammer")) = false and cBool(request("computer")) = false then
```

Case, varför...värkar jobbigt?

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

## #11 — Sebbe, 2003-03-17T21:30Z

> **Jesper T skrev:**
>
> Typkonvertera kanske:
>
>
> ```
> if cBool(request("warhammer")) = false and cBool(request("computer")) = false then
> ```

Eftersom värderna från formulären blir antingen "on" eller "" är det väl tveksamt om det funkar? Eller?

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

## #12 — Jesper T, 2003-03-17T21:31Z

Etta eller nolla borde också gå:

```
if cBool(request("warhammer")) = 0 and cBool(request("computer")) = 0 then
```

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

## #13 — voigtann1, 2003-03-17T21:32Z

Jesper: allt stämmer förutom SQL satsen... 

```
  if request("warhammer") = false and request("computer") = false then
```

Även denna stämmer... fast det är på SQL satsen den inte vill ha något värde :(

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

## #14 — Jesper T, 2003-03-17T21:36Z

Och det funkar inte att skriva in där då?

```
SQL = "INSERT INTO lan "
  SQL = SQL & "(username, betalt, warhammer,dator, vilket_lan) "
  SQL = SQL & "VALUES('" & id & "', false, " & cBool(request("warhammer")) & ", " & cBool(request("computer")) & ", #" &nextlan2& "#)"
```

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

## #15 — voigtann1, 2003-03-18T06:42Z

Feltyp:
Körningsfel i Microsoft VBScript (0x800A000D)
Inkompatibla typer: 'cBool'

:(

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

## #16 — @nders, 2003-03-18T07:01Z

Ett litet trick man kan ta sig för är att sätta value på sina checkboxar till 1, och sedan använda len() i sin SQL-fråga:

```
SQL = "INSERT INTO lan "
  SQL = SQL & "(username, betalt, warhammer,dator, vilket_lan) "
  SQL = SQL & "VALUES('" & id & "', false, " & Len(request("warhammer")) & ", " & Len(request("computer")) & ", #" &nextlan2& "#)"
```

Då har du 0 när det inte är ikryssat, och 1 när det är det, och det borde väl vara helt okej istället för true / false?

mvh

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

## #17 — voigtann1, 2003-03-18T07:08Z

tackar snabel :e visste att du hade koll :e

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/71413-har-jag-blevit-glömsk
