webForumDet fria alternativet

Valfri bakgrundsfärg

PHP

15 svar · 349 visningar · startad av Matti

Medlem sedan dec. 19996 592 inlägg
Frågan#1

Tjo!

Jag har lite svårt att bestämma mig om färgerna på min kommande hemsida så jag undrar om det går att låta användaren välja färger själv? Det skulle ju inte vara något problem att göra det om siten bara bestod av en sida, men nu är det ju 20+ sidor jag kommer att ha. På varje sida är det 2 bilder som behöver bytas ut (bakgrundsbilden i en tabell och en annan, rätt oviktig bild).

Skulle detta gå att göra på något sätt i PHP?

Hm.. nu medans jag skriver kom jag på en sak. Borde det inte gå att göra så att när besökaren anländer till min sida så får han/hon först välja färg i ett formulär, tex. grön, gul eller blå. När personen gör det så lagras värdet i en cookie som sedan hämtas på varje sida..?

Uhm.. går det? :)

------------------
M a tti Kolu
Qui tacet, consentit.

Medlem sedan apr. 20003 971 inlägg
#2

Enklast är
SetCookie("Namn", "Värde");

Då får variablen $Namn värdet "Värde" nästa gång en sida i samma katalog laddas.

Vill du bestämma alternativ kan du ta en titt här http://se.php.net/manual/function.setcookie.php

Obs: Du kan inte byta sida med Header("Location: nysida") efter att du satt en kaka.

------------------
/mvh Swey
- Ta dagen som den kommer

[Redigerat av Swey den 01 jun 2000]

Medlem sedan dec. 19996 592 inlägg
#3

Jag fick inte det att fungera.. den klagar på rad 26:

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?php
if ($color == "red")
{
setcookie ("ColorCookie", "red"); 
}

elseif ($color == "green")
{
setcookie ("ColorCookie", "green"); 
}

elseif ($color == "blue")
{
setcookie ("ColorCookie", "blue"); 
}
?>
</head>
<body bgcolor="#FFFFFF">

<?php
[b]if ($ColorCookie == "red")[/b]
{
$tablepic = red.jpg
}
echo("<img src='$tablepic'>");
?> 
</body>
</html>

Felmeddelandet är:
Warning: Uninitialized variable or array index or property (ColorCookie)

Vad har jag gjort fel? :)

------------------
M a tti Kolu
Qui tacet, consentit.

[Redigerat av Matti den 01 jun 2000]

Medlem sedan apr. 20003 971 inlägg
#4

Som sagt, nästa gång sidan laddas. Det där ser ut som samma sida.

------------------
/mvh Swey
- Ta dagen som den kommer

Medlem sedan dec. 19996 592 inlägg
#5

AAARGH :)

varför är det ingen som sagt till mig att setcookie ska vara före <html> ? :e

------------------
M a tti Kolu
Qui tacet, consentit.

Medlem sedan feb. 20001 270 inlägg
#6

Matti
För att vi utgick ifrån att Du visste det! ;)

------------------
woodi

Svenska FF1
www.johan-skog.nu

Medlem sedan dec. 19996 592 inlägg
#7

Utgå alltid ifrån att jag inte vet ett något :) *hållt på i flera timmar med sk***n*

hm, nåt fel på detta?

<?php
if ($ColorCookie == "red")
{
$tablepic = "red.gif"
}
echo("<img src=$tablepic>");
?>

Fungerar nämligen inte.. blir helt tomt på sidan.

------------------
M a tti Kolu
Qui tacet, consentit.

Medlem sedan feb. 20001 270 inlägg
#8

Försök med detta istället..

<?php
if($ColorCookie=="red")
$tablepic="red.gif";

echo "<img src=\"$tablepic\">";
?>

------------------
woodi

Svenska FF1
www.johan-skog.nu

Medlem sedan dec. 19996 592 inlägg
#9

oj, glömde posta mitt inlägg.. jag fick det att fungera med lite hjälp av Swey, men tack iaf. woodi :) :) :)
www.mk.st/php/color2 , can YOU feel the power of the red color? :e

Nu återstår bara ett problem.. och förhoppningsvis det sista, när man går direkt till en sida som antar att cookien finns, men den inte gör det så blir det ju fel.. (Warning: Uninitialized variable or array index or property (ColorCookie))

Hum, så nu undrar jag vad jag ska skriva i koden som Woodi gav mig nyss för att detta meddelande inte ska visas. Alltså om cookien inte finns så ska $tablepic = "default.gif" :)

Jag vet.. jag är jobbig.. nybörjarfrågor..

------------------
M a tti Kolu
Qui tacet, consentit.

Medlem sedan apr. 20003 971 inlägg
#10

Den där varningen ska inte visas normalt. Den måste vara påsatt manuellt.

Och vad menar du med lite hjälp, va? ;)

Använd isset() för att se om variabeln är deklarerad.

------------------
/mvh Swey
- Ta dagen som den kommer

Medlem sedan feb. 20001 270 inlägg
#11

Matti
if($ColorCookie=="red")
$tablepic="red.gif";
elseif($ColorCookie=="blue")
$tablepic="blue.gif";
else
$tablepic="deafult.gif";

------------------
woodi

Svenska FF1
www.johan-skog.nu

Medlem sedan dec. 19996 592 inlägg
#12

Perfectimissimo :e Tack woodi :) :) :)

/ Matti, som sakta men säkert (ehm..) börjar lära sig PHP

------------------
M a tti Kolu
Qui tacet, consentit.

Medlem sedan apr. 20003 971 inlägg
#13

Om jag fattade rätt så blev felet om $ColorCookie inte var angiven. Och för att kontrollera det används isset.

Men jag har väl missuppfattat :q

------------------
/mvh Swey
- Ta dagen som den kommer

Medlem sedan dec. 19996 592 inlägg
#14

Näe, du har inte missuppfattat något men jag behövde koden som woodi gav mig också :)

<?php
$tablepic="default.gif";

if(isset($ColorCookie))
{
if($ColorCookie=="red")
$tablepic="red.gif";
elseif($ColorCookie=="blue")
$tablepic="blue.gif";

}
?>

------------------
M a tti Kolu
Qui tacet, consentit.

Medlem sedan apr. 20003 971 inlägg
#15

Ah, såklart...

------------------
/mvh Swey
- Ta dagen som den kommer

Medlem sedan dec. 19996 592 inlägg
#16

Fick allt att fungera perfekt till slut :)
www.mk.st/php/color2

------------------
M a tti Kolu
Qui tacet, consentit.

264 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)