webForumDet fria alternativet

Cookie ändras ofrivilligt

ASP

6 svar · 310 visningar · startad av kolas

Medlem sedan mars 2001142 inlägg
Frågan#1

Har ett formulär för att byta stilmallar som sparas mha cookies, funkar bra så långt, men om man går in på en sida igen som har likadant formulär, så verkar kakan byta värde till inget.

Hur skall jag göra för att den skall hålla sig kvar?

<%
Response.Buffer = True 
If Request.Form("size") <> "" Then
Response.kaka("text")("size") = Request.Form("size")
Response.kaka("text").Expires = Date + 365
End If
%>
<html>
        <head>
<title>texten</title>
<%If Request.Form("size") <> "" Then %>
<%
IF Request.kaka("text")("size")="10" THEN
   Response.Write "<link rel=""STYLESHEET"" type=""text/css"" href=""av.css"">"
ELSEIF Request.kaka("text")("size")="12" THEN
   Response.Write "<link rel=""STYLESHEET"" type=""text/css"" href=""av2.css"">"
ELSEIF Request.kaka("text")("size")="14" THEN
   Response.Write "<link rel=""STYLESHEET"" type=""text/css"" href=""av3.css"">"
   ELSEIF Request.kaka("text")("size")="16" THEN
   Response.Write "<link rel=""STYLESHEET"" type=""text/css"" href=""av4.css"">"
ELSEIF Request.kaka("text")("size")="18" THEN
   Response.Write "<link rel=""STYLESHEET"" type=""text/css"" href=""av5.css"">"
END IF
%>
<%Else %>
<link rel="STYLESHEET" type="text/css" href="av.css">
<%End If %>
</head>
<body> 

<form  method="POST" action="<%= Request.ServerVariables("script_name")%>">
		<select name="size">
		<option nochice>Välj textstorlek</option>
		<option value="10">10 punkter</option>
	   	<option value="12">12 punkter</option>
	   	<option value="14">14 punkter</option>		
	   	<option value="16">16 punkter</option>
		</select>
		<input type="submit" value="OK">
</form>

[Redigerat av kolas den 10 maj 2001]

[Redigerat av kolas den 11 maj 2001]

Medlem sedan mars 20002 836 inlägg
#2

<LINK..... kommer på fel ställe.
Den ska skrivas i < head > taggen.

En snabb lösning ... ej testad ...

<%
'## -- sub som väljer vilken css som ska användas --
Sub getCSS(ByVal WichStyle)

	Response.Write "<link rel=""STYLESHEET"" " & _
		"type=""text/css"" href=""" & WichStyle & ".css"">"
End Sub

'## -------------------------------------------------------------
'## -------------------------------------------------------------

'## -- kolla om besökaren vill ändra css (utseendet) --
If Request.Form <> "" Then
	Response.kaka("text")("size") = Request.Form("size")
	Response.Kaka.Expires = DateAdd("d",365,Now())
End If

'## -- hämta sparat värde för vilken CSS som besökaren vill ha --
intStyle = Request.kaka("text")("size")
%>
<html>
<head>
<title>texten</title>
<% Call getCSS(intStyle)%>
.
.
.
.
.

OBS!!! css filerna måste vara döpta i detta fall till samma som värdet i size fältet i formuläret

cya,
PatrikB

------------------
*Det tar sig sa han som hade eld i håret*

[Redigerat av PatrikB den 11 maj 2001]

Medlem sedan mars 2001142 inlägg
#3

Det ligger i headen, det vara bara jag som inte hade klistran in </head>
<body> mm, så det är inte det felet, det är ett annat!
(nu har jag redigerat det där uppe, så ser det ut)

// k o l a s

Medlem sedan mars 20002 836 inlägg
#4

....kolas..... kolla min uppdatering ....

------------------
*Det tar sig sa han som hade eld i håret*

Medlem sedan mars 2001142 inlägg
#5

Jag fick det till att fungera, men om klienten inte har nå´n Cookie, då blir det ju inte nå´n stilmall alls, hur kan man komma ifrån det?

Som första gången man kommer in på sidan t ex
Kanske skall skicka med koden som jag trodde det var, men då ändrar den bara på en sida och sparar inte cookisen verkar det som

<%

'## -- sub som väljer vilken css som ska användas --
Sub getCSS(ByVal WichStyle)
Response.Write "<link rel=""STYLESHEET"" " & _
"type=""text/css"" href=""" & WichStyle & ".css"">"
End Sub

'## -------------------------------------------------------------
'## -------------------------------------------------------------

'## -- kolla om besökaren vill ändra css (utseendet) --
If Request.Form <> "" Then
Response.Cokies("text")("size") = Request.Form("size")
Response.Cokies("text").Expires = DateAdd("d",365,Now())
Else
'## Om det inte är valt nagon Cokie
Response.Cokies("text")("size") = 12
End If

'## -- hämta sparat värde för vilken CSS som besökaren vill ha --
intStyle = Request.Cokies("text")("size")

%><html>
<head>
<title>Ändra size</title>
<% Call getCSS(intStyle)%>
</head>

men det verkar inte funka

[Redigerat av kolas den 14 maj 2001]

[Redigerat av kolas den 14 maj 2001]

Medlem sedan mars 2001142 inlägg
#6

Jo nu funkar det, jag lade bara till en If sats

Ett jättte TACK till PatrikB för all hjälp!

// k o l a s

Medlem sedan mars 20002 836 inlägg
#7

vasse go.

ser att det fattas en rad i min kod ovanför, den i fet stil är den som ska läggas till:

'## -- hämta sparat värde för vilken CSS som besökaren vill ha --
intStyle = Request.kaka("text")("size")
[b]If intStyle = "" Then intStyle = 12[/b]

då borde den funka bättre ... =P

cya,
PatrikB

------------------
*Det tar sig sa han som hade eld i håret*

261 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)