---
title: "Cookie verkar inte skapas?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/45440-cookie-verkar-inte-skapas"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Mika3l"
published: "2002-06-07T22:45:07.000Z"
updated: "2002-06-08T13:25:39.000Z"
replies: 23
views: 661
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/45440-cookie-verkar-inte-skapas"
---

# Cookie verkar inte skapas?

_Sida 1 av 2._

## #1 — Mika3l, 2002-06-07T22:45Z

Håller på med ett forum med login.
När man loggar in så kommer det upp en ruta där man kan välja om man vill bli inloggad varje gång man besöker sidan eller bara för tillfället(OK och Cancel-knappar).
När man väljer något av alternativen så ska antingen querystringen makecookie få värdet yes eller no men det verkar inte fungera, man loggas in men sedan så blir man inte inloggad automatiskt... :l

```
<!-- #Include file="connection.asp" -->
<!-- #Include file="setonline.asp" -->
<html>
<head>
<title>Logga in</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script language="JavaScript">
function fraga()   {
if(confirm("Vill du bli inloggad automatiskt nästa gång du besöker sidan(OK)?")) {
parent.sidan.location.href="login.asp?page=login&makecookie=yes"
} else {
parent.sidan.location.href="index2.asp?login=login&makecookie=no"
}
}
</script>
</head>
<body>

<!-- #Include file="top.asp" -->

<%
If Request.QueryString("page") = "login" Then
SQL = "SELECT anvnamn FROM medlemar WHERE anvnamn = '" & Trim(Request.Form("anvnamn")) & "' AND losen = '" & Trim(Request.Form("losen")) & "'"
Set rs = Connection.Execute(SQL)
If rs.EOF Then
Response.Write"<center><strong>Fel användarnamn eller lösenord!</strong></center>"
Else
SQLL = "UPDATE medlemar SET status = True WHERE anvnamn = '" & Trim(Request.Form("anvnamn")) & "'"
Connection.Execute(SQLL)
Session("user") = Trim(Request.Form("anvnamn"))
If Request.QueryString("makecookie") = "yes" Then
Response.Cookies("sf_login") = Trim(Request.Form("anvnamn"))
End If
Response.Redirect"index2.asp"
End If
End If
%>
<form method="post" action="login.asp?page=login" onSubmit="return fraga()">
<table align="center" cellspacing="0" cellpadding="2">
 <tr>
  <td align="center" colspan="2">
<font class="rubrik">Logga in</font>
  </td>
 </tr>
 <tr>
  <td>
Användarnamn:
  </td>
  <td>
<input type="text" name="anvnamn" maxlength="20">
  </td>
 </tr>
 <tr>
  <td>
Lösenord:
  </td>
  <td>
<input type="password" name="losen" maxlength="20">
  </td>
 </tr>
 <tr>
  <td align="left" valign="middle" colspan="2">
<input type="submit" value="  Logga in  ">
&nbsp;
<a href="glomtlosen.asp">Glömt lösenordet?</a>
  </td>
 </tr>
</table>
</form>

<!-- #Include file="bottom.asp" -->

</body>
</html>

<!-- #Include file="closeconnection.asp" -->
```

Tacksam för lite respons första sommarlovsnatten. ;) :)

/Mika3l

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

## #2 — solbulle, 2002-06-07T22:54Z

Hur ser den sida ut som i fortsättningen skall logga in dig automatiskt?

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

## #3 — Mika3l, 2002-06-07T22:56Z

```
<%
If Request.Cookies("sf_login") <> "" Then
Session("user") = Request.Cookies("sf_login")
Dim inloggad
inloggad = "true"
SQLGettyp = "SELECT typ FROM medlemar WHERE anvnamn = '" & Session("user") & "'"
Set rsGettyp = Connection.Execute(SQLGettyp)
Dim typ
typ = rsGettyp("typ")
rsGettyp.Close
Set rsGettyp = Nothing
SQLSetonline = "UPDATE medlemar SET status = True WHERE anvnamn = '" & Session("user") & "'"
Connection.Execute(SQLSetonline)
Else
inloggad = "false"
End If
If Session("user") <> "" Then
inloggad = "true"
End If
%>
```

Inlkuderas på alla sidor...

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

## #4 — solbulle, 2002-06-07T23:05Z

Om du skriver ut cookiesen, innehåller den sitt värde då?
Jag tror inte att du kan sätta din session för att sen i nästa rad använda den, fast det borde iofs kanske bara påverka vid första försöket...
Du kan ju testa med att skriva:

```
<%
If Request.Cookies("sf_login") <> "" Then
If NOT Session("user") <> "" then
user = Request.Cookies("sf_login")
Session("user") = user 
Else
user = Session("user")
End If
Dim inloggad
inloggad = "true"
SQLGettyp = "SELECT typ FROM medlemar WHERE anvnamn = '" & user & "'"
Set rsGettyp = Connection.Execute(SQLGettyp)
Dim typ
typ = rsGettyp("typ")
rsGettyp.Close
Set rsGettyp = Nothing
SQLSetonline = "UPDATE medlemar SET status = True WHERE anvnamn = '" & user & "'"
Connection.Execute(SQLSetonline)
Else
inloggad = "false"
End If
If Session("user") <> "" Then
inloggad = "true"
End If
%>
```

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

## #5 — Mika3l, 2002-06-07T23:11Z

Nej, fungerade inte. :(
Men kan det kanske bero på att jag raderar alla sessions när besökaren lämnar sidan?

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

## #6 — solbulle, 2002-06-07T23:13Z

Finns värdet i din cookie om du skriver ut den?

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

## #7 — solbulle, 2002-06-07T23:18Z

Föresten, du postar ju aldrig formuläret till den sida som sätter din cookie. När du sätter cookien är ju formuläret tomt så inget hamnar i den.

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

## #8 — solbulle, 2002-06-07T23:20Z

Lägg "svaret" på confirmen i ett hiddenfält istället och ta ut värdet därifrån efter att du postat formuläret.

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

## #9 — Mika3l, 2002-06-07T23:27Z

Försökte att skicka med värdena via querystring(dom syns inte iallafall i frames) men det gick inte så bra. :l

```
<!-- #Include file="connection.asp" -->
<!-- #Include file="setonline.asp" -->
<html>
<head>
<title>Logga in</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script language="JavaScript">
function fraga()   {
var anvnamn = document.loginform.anvnamn.value;
var losen = document.loginform.losen.value;
if(confirm("Vill du bli inloggad automatiskt nästa gång du besöker sidan(OK)?")) {
parent.sidan.location.href="login.asp?page=login&makecookie=yes&anvnamn="" + anvnamn + ""&losen="" + losen + """
} else {
parent.sidan.location.href="login.asp?login=login&makecookie=no&anvnamn="" + anvnamn + ""&losen="" + losen + """
}
}
</script>
</head>
<body>

<!-- #Include file="top.asp" -->

<%
If Request.QueryString("page") = "login" Then
Dim anvnamn, losen
anvnamn = Trim(Request("anvnamn"))
losen = Trim(Request("losen"))
SQL = "SELECT anvnamn FROM medlemar WHERE anvnamn = '" & anvnamn & "' AND losen = '" & losen & "'"
Set rs = Connection.Execute(SQL)
If rs.EOF Then
Response.Write"<center><strong>Fel användarnamn eller lösenord!</strong></center>"
Else
SQLL = "UPDATE medlemar SET status = True WHERE anvnamn = '" & anvnamn & "'"
Connection.Execute(SQLL)
Session("user") = anvnamn
If Request.QueryString("makecookie") = "yes" Then
Response.Cookies("sf_login") = anvnamn
End If
Response.Redirect"index2.asp"
End If
End If
%>
<form name="loginform" method="post" action="login.asp?page=login" onSubmit="return fraga()">
<table align="center" cellspacing="0" cellpadding="2">
 <tr>
  <td align="center" colspan="2">
<font class="rubrik">Logga in</font>
  </td>
 </tr>
 <tr>
  <td>
Användarnamn:
  </td>
  <td>
<input type="text" name="anvnamn" maxlength="20">
  </td>
 </tr>
 <tr>
  <td>
Lösenord:
  </td>
  <td>
<input type="password" name="losen" maxlength="20">
  </td>
 </tr>
 <tr>
  <td align="left" valign="middle" colspan="2">
<input type="submit" value="  Logga in  ">
&nbsp;
<a href="glomtlosen.asp">Glömt lösenordet?</a>
  </td>
 </tr>
</table>
</form>

<!-- #Include file="bottom.asp" -->

</body>
</html>

<!-- #Include file="closeconnection.asp" -->
```

Kan du förklara mer med hiddenfält?

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

## #10 — solbulle, 2002-06-07T23:35Z

När du blir ivägskickad med hjälp av din confirm postas väl aldrig formuläret? så du kan inte komma åt den informationen.
Så som jag ser det måste du antingen lägga "svaret" från confirmen i ett hiddenfält, posta formuläret och sen hantera infon på nästa sida.

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

## #11 — Mika3l, 2002-06-07T23:37Z

Nja, försöker nog med querystrings men det vill ju inte riktigt fungera(se kod ovan) med javascriptet, fast man blir inloggad.... :l

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

## #12 — solbulle, 2002-06-07T23:42Z

Hur ser länken ut som blir i adressfönstret när du nu postar ditt formulär?

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

## #13 — Mika3l, 2002-06-08T08:55Z

Ser inget i adressfönstret för jag använder ju frames. :p
Men jag blir inloggad så jag blir skickad rätt, men cookien vill ändå inte skapas... :l

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

## #14 — solbulle, 2002-06-08T09:09Z

Om du skriver ut din querystring på sidan du kommer till, hur ser den ut?

Du kan väl iofs köra scriptet utanför framesen för att se adressen alt öppna framesen(?) i ett nytt fönster.

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

## #15 — Mika3l, 2002-06-08T09:33Z

Det skriver inte ut något Men jag får ett javascript fel, med andra ord så skickas inte värdena...
Jag får felmeddelandet att ; förväntas.

```
<script language="JavaScript">
function fraga()   {
var anvnamn = document.loginform.anvnamn.value;
var losen = document.loginform.losen.value;
if(confirm("Vill du bli inloggad automatiskt nästa gång du besöker sidan(OK)?")) {
parent.sidan.location.href="login.asp?page=login&makecookie=yes&anvnamn="" + anvnamn + ""&losen="" + losen + """
[red]} else {[/red]
parent.sidan.location.href="login.asp?login=login&makecookie=no&anvnamn="" + anvnamn + ""&losen="" + losen + """
}
}
</script>
```

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

## #16 — @nders, 2002-06-08T09:49Z

Ja, det är för att det verkar vara fel på tangentkombinationen shift-2 på ditt tangentbord. Det blir liksom dubbelt! ;)

```
<script language="JavaScript">
function fraga()   {
var anvnamn = document.loginform.anvnamn.value;
var losen = document.loginform.losen.value;
if(confirm("Vill du bli inloggad automatiskt nästa gång du besöker sidan(OK)?")) {
parent.sidan.location.href="login.asp?page=login&makecookie=yes&anvnamn=" + anvnamn + "&losen=" + losen;
} else {
parent.sidan.location.href="login.asp?login=login&makecookie=no&anvnamn=" + anvnamn + "&losen=" + losen;
}
}
</script>
```

Förresten, ska det inte vara page=login på den andra url:en också?

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

## #17 — solbulle, 2002-06-08T09:53Z

Måste det inte vara en:
return false;
med där någonstans också?

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

## #18 — Mika3l, 2002-06-08T09:57Z

> Förresten, ska det inte vara page=login på den andra url:en också?

Jo... :r :p
Testade din kod @ men det ville inte fungera då heller. :l
Inga felmeddelanden eller så men inget vill skickas med, det enda som skickas med är page=login men inget annat, det verkar inte som om man byter sida utan man kommer dit som formuläret pekar vilket som... :l

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

## #19 — @nders, 2002-06-08T09:59Z

> Måste det inte vara en: 
> return false; 
> med där någonstans också?

Nja, funktionen behöver egentligen inte returnera någonting, men som onsubmit-eventhandlern är skriven så ser det lite dumt ut. Jag hade tagit bort onsubmit från form-taggen och bytt ut submitknappen mot \<input type="button" value="  Logga in  " onclick="fraga();"\>.

Testa! :)

Mvh,

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

## #20 — Mika3l, 2002-06-08T10:02Z

Nu skickas värdena med @. :)
Men om man använder "Button" så går det ju inte att använda enter när man vill logga in, kan man lösa det på något sätt?

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/45440-cookie-verkar-inte-skapas  
Nästa sida: https://www.webforum.nu/amne/asp/45440-cookie-verkar-inte-skapas/page2.md
