---
title: "fel vid hämtning av id"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/42027-fel-vid-hämtning-av-id"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Sico"
published: "2002-04-19T10:04:06.000Z"
updated: "2002-04-19T11:35:03.000Z"
replies: 19
views: 462
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/42027-fel-vid-hämtning-av-id"
---

# fel vid hämtning av id

## #1 — Sico, 2002-04-19T10:04Z

Jag har lagrat värdet såhär

```
Response.Cookies("Login")("UserID") = rsUser("f_ID")
```

När jag ska hämta cookievärdet eller sessionvärdet genom sql-strängen så blir det fel...

```
SQL = "SELECT * FROM t_Members Where f_ID="& Session("UserID") &" OR f_ID="& Request.Cookies("Login")("UserID") &""
```

> Error Type:
> Microsoft JET Database Engine (0x80040E14)
> Syntax error (missing operator) in query expression 'f_ID= OR f_ID=173'.

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

## #2 — @nders, 2002-04-19T10:08Z

Så kan du inte göra, som du märkte. Du får kontrollera innan du skapar SQL-satsen om värdet kommer från en cookie eller en session.

```
if isnumeric(Request.Cookies("Login")("UserID")) then
     intID = Request.Cookies("Login")("UserID")
elseif isnumeric(Session("UserID")) then
     intID = Session("UserID")
end if

SQL = "SELECT * FROM t_Members Where f_ID="& intID
```

Mvh,

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

## #3 — Sico, 2002-04-19T10:11Z

tackar @nders, trodde man kunde gör det i SQL-strängen :(  .. man lär sig mkt här..  100% av mina tummar står upp för wF :e

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

## #4 — Sico, 2002-04-19T10:28Z

Sen vidare till nästa problem 
Vid utloggningen hade jag då tänkt mig...

```
If Request.QueryString("menu") = "logoff" Then 

	If Request.Cookies("Login")("User") = "Yes" Then
	     [b]Response.Cookies("Login")("User").Expires[/b]
	ElseIf Session("User") = "Yes" Then
	     Session.Abandon
	End If

Response.Redirect "login.asp?login"
End If
```

> Error Type:
> Microsoft VBScript runtime (0x800A01B6)
> Object doesn't support this property or method: '\[object\]'
> /forum/admin.asp, line 23

Jag lägger till kakorna såhär.. 

```
		Response.Cookies("Login")("User") = "Yes"
		Response.Cookies("Login")("UserID") = rsUser("f_ID")
		Response.Cookies("Login")("Admin") = rsUser("f_Admin")
		Response.Cookies("Login")("User").Expires = DateAdd("y",2,Now())
```

Kanske finns bättre sätt att göra? hur?

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

## #5 — @nders, 2002-04-19T10:32Z

Du måste sätta ett datum för då kakan slutar gälla.

```
Response.Cookies("Login").Expires [b] = dateadd("d", -20, date)[/b]
```

red: glömde stänga fettext

Mvh,

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

## #6 — Sico, 2002-04-19T10:47Z

tackar, mkt probs nu.... såg ett fel vid ditt förra svar.. det funkar inte om man loggar in med session av nån anledning

> Error Type:
> Microsoft JET Database Engine (0x80040E14)
> Syntax error (missing operator) in query expression 'f_ID='.

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

## #7 — @nders, 2002-04-19T10:48Z

Heter sessionen UserID?

Det verkar som att den sessionen inte har något värde av någon anledning. Är du säker på att sessionen är satt?

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

## #8 — Sico, 2002-04-19T10:49Z

jepp

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

## #9 — Sico, 2002-04-19T10:50Z

men du kan få inspektera mitt inloggnings-script.. jag är inte nöjd med det.. det är inte så bra koder va?

```
If Request.QueryString("login") = "check" Then 

Set rsUser = Server.CreateObject("ADODB.Recordset")

SQL = "Select * from t_Members Where f_User='" & Request.Form("Username") & "'"

RSUser.Open SQL,Connect,1,2

If rsUser.EOF Then

Response.Write "<font class=smallheader>Användaren finns inte.</font><br>" &_
	"<a href=""javascript:history.go(-1)"">Tillbaka</a>"

ElseIf rsUser("f_Password") <> Request.Form("Password") Then

Response.Write "Lösenordet är felaktigt för" &_
	"<font class=smallheader> "& Request.Form("Username") &" </font><br>" &_
	"<a href=""javascript:history.go(-1)"">Tillbaka</a>"

Else
	If rsUser("f_Cookie") = "1" Then
		Response.Cookies("Login")("User") = "Yes"
		Response.Cookies("Login")("UserID") = rsUser("f_ID")
		Response.Cookies("Login")("Admin") = rsUser("f_Admin")
		Response.Cookies("Login").Expires = DateAdd("y",2,Now())
		Response.Redirect "admin.asp?profile"
	Else
		Session("User") = "Yes"
		Session("UserID") = rsUser("f_ID")
		Session("Admin") = rsUser("f_Admin")
		Response.Redirect "admin.asp?profile"
	End If

End If

RSUser.close
Connect.close

End If
```

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

## #10 — @nders, 2002-04-19T10:54Z

När du kommer till admin-sidan, vilket värde har då Session("UserID")? Prova att skriva ut det direkt när du kommer till adminsidan.

mvh,

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

## #11 — Sico, 2002-04-19T11:00Z

Då skriver den det korrekta värdet

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

## #12 — @nders, 2002-04-19T11:05Z

Som är? Numeriskt? Om du skriver ut isnumeric(session("UserID")), vad säger den då?

Prova detta stället:

```
if isnumeric(Request.Cookies("Login")("UserID")) then
     intID = Request.Cookies("Login")("UserID")
else
     intID = Session("UserID")
end if
```

mvh,

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

## #13 — Sico, 2002-04-19T11:06Z

samma fel.. jepp. det är numeriskt

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

## #14 — Sico, 2002-04-19T11:13Z

hmm, när jag skriver ut isnumeric(session("UserID"))  så bliur resultatet  True

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

## #15 — @nders, 2002-04-19T11:15Z

Då får vi prova lite fulkod:

```
intID = Request.Cookies("Login")("UserID")
if not session("UserID") = "" then intID = Session("UserID")
```

mvh,

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

## #16 — Sico, 2002-04-19T11:19Z

det funkade. har du nån aning varför?
vet ju inte om det känns så stabilt när du säger fulkod ;)

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

## #17 — @nders, 2002-04-19T11:21Z

Kan det vara så att cookien finns, trots att man har en session?

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

## #18 — Sico, 2002-04-19T11:28Z

jag testade å skriva ut kakan när jag loggat in med session å då stog det "True" ..

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

## #19 — @nders, 2002-04-19T11:31Z

Då är det därför.

Vi gör så här istället.
Vi kollar längd istället.

```
if Len(Request.Cookies("Login")("UserID")) >0 then
     intID = Request.Cookies("Login")("UserID")
elseif len(Session("UserID")) >0 then
     intID = Session("UserID")
else
     'varken eller, vi sätter till 0
     intID = 0
end if
```

Jag lade till en else. Jag vet dock inte om den behövs eftersom jag inte sett resten av din kod. Du får väl plocka bort den om den inte behövs.

Mvh,

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

## #20 — Sico, 2002-04-19T11:35Z

det funkade med både sessions å cookies.. tackar... 
en fråga angående loginscriptet... hur väl e det gjort? det finns en röst inne i mig som säger att dkoderna inte är dom bästa precis

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/42027-fel-vid-hämtning-av-id
