cookies | Achtergronden
Ik wil graag dat als er op een knop geklikt word, dan dat het achtergrond
waarvoor het knop gemaakt is, opgeslagen word in een cookie.
En dat als je later terug op dat site komt, dan dat het achtergrond waarvan
je ingesteld hebt er nog steeds staat. Maar dat lukt mij gewoon niet :S.
Hieronder bevindt het script waarmee het eigenlijk zou moeten lukken:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?php
if ($_POST['bg'])
{
$Achtergrond = $_POST['bg'];
if ($_POST['bg'] == 'Achtergrond 1')
{
$Achter = "Achtergrond 1";
setcookie("Achtergrond_1", $Achtergrond, time()+3600);
}
if ($_POST['bg'] == 'Achtergrond 2')
{
$Achter = "Achtergrond 2";
setcookie("Achtergrond_2", $Achtergrond, time()+3600);
}
if ($_POST['bg'] == 'Achtergrond 3')
{
$Achter = "Achtergrond 3";
setcookie("Achtergrond_3", $Achtergrond, time()+3600);
}
echo $Achtergrond . '<br>' . $Achter;
}
?>
<html>
<head>
<title>Veranderen van achtergronden</title>
</head>
<body>
<form method="POST" action="">
<table align="center">
<tr><td>
<div id="bg"><table border="1" width="500px" height="300px"></div>
<tr><td>
<?php
if ($_POST['bg'])
{
if ($_POST['bg'] == 'Achtergrond 1')
{
echo '<style type="text/css">' .
'#bg { background-image: url(bg4.jpg); }' .
'</style>';
}
if ($_POST['bg'] == 'Achtergrond 2')
{
echo '<style type="text/css">' .
'#bg { background-image: url(bg2.jpg); }' .
'</style>';
}
if ($_POST['bg'] == 'Achtergrond 3')
{
echo '<style type="text/css">' .
'#bg { background-image: url(bg3.jpg); }' .
'</style>';
}
}
?>
</td></tr>
</table>
</td></tr>
<tr><td>
<table border="1" width="500px" height="30px">
<tr><td align="center">
<input type="submit" name="bg" value="Achtergrond 1">
</td><td align="center">
<input type="submit" name="bg" value="Achtergrond 2">
</td><td align="center">
<input type="submit" name="bg" value="Achtergrond 3">
</td></tr>
</table>
</td></tr>
</table>
</form>
</body>
</html>
if ($_POST['bg'])
{
$Achtergrond = $_POST['bg'];
if ($_POST['bg'] == 'Achtergrond 1')
{
$Achter = "Achtergrond 1";
setcookie("Achtergrond_1", $Achtergrond, time()+3600);
}
if ($_POST['bg'] == 'Achtergrond 2')
{
$Achter = "Achtergrond 2";
setcookie("Achtergrond_2", $Achtergrond, time()+3600);
}
if ($_POST['bg'] == 'Achtergrond 3')
{
$Achter = "Achtergrond 3";
setcookie("Achtergrond_3", $Achtergrond, time()+3600);
}
echo $Achtergrond . '<br>' . $Achter;
}
?>
<html>
<head>
<title>Veranderen van achtergronden</title>
</head>
<body>
<form method="POST" action="">
<table align="center">
<tr><td>
<div id="bg"><table border="1" width="500px" height="300px"></div>
<tr><td>
<?php
if ($_POST['bg'])
{
if ($_POST['bg'] == 'Achtergrond 1')
{
echo '<style type="text/css">' .
'#bg { background-image: url(bg4.jpg); }' .
'</style>';
}
if ($_POST['bg'] == 'Achtergrond 2')
{
echo '<style type="text/css">' .
'#bg { background-image: url(bg2.jpg); }' .
'</style>';
}
if ($_POST['bg'] == 'Achtergrond 3')
{
echo '<style type="text/css">' .
'#bg { background-image: url(bg3.jpg); }' .
'</style>';
}
}
?>
</td></tr>
</table>
</td></tr>
<tr><td>
<table border="1" width="500px" height="30px">
<tr><td align="center">
<input type="submit" name="bg" value="Achtergrond 1">
</td><td align="center">
<input type="submit" name="bg" value="Achtergrond 2">
</td><td align="center">
<input type="submit" name="bg" value="Achtergrond 3">
</td></tr>
</table>
</td></tr>
</table>
</form>
</body>
</html>
Waar lees je de cookie weer uit? Nu maak je een cookie aan, maar de volgende keer dat iemand op de pagina komt doe je niets met die cookie.
Geef aub een voorbeeld, want dit schiet niet op.
Ook ben ik nog nieuw met cookies etc...
Code (php)
in:
Je wilt namelijk maar 1 cookie (met de naam 'Achtergrond') en niet 3 verschillende cookie's
Het word dan zo:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
if ($_POST['bg'] == 'Achtergrond 1')
{
$Achter = "Achtergrond 1";
setcookie("Achtergrond", $Achtergrond, time()+3600);
}
if ($_POST['bg'] == 'Achtergrond 2')
{
$Achter = "Achtergrond 2";
setcookie("Achtergrond", $Achtergrond, time()+3600);
}
if ($_POST['bg'] == 'Achtergrond 3')
{
$Achter = "Achtergrond 3";
setcookie("Achtergrond", $Achtergrond, time()+3600);
}
?>
if ($_POST['bg'] == 'Achtergrond 1')
{
$Achter = "Achtergrond 1";
setcookie("Achtergrond", $Achtergrond, time()+3600);
}
if ($_POST['bg'] == 'Achtergrond 2')
{
$Achter = "Achtergrond 2";
setcookie("Achtergrond", $Achtergrond, time()+3600);
}
if ($_POST['bg'] == 'Achtergrond 3')
{
$Achter = "Achtergrond 3";
setcookie("Achtergrond", $Achtergrond, time()+3600);
}
?>
Als je nu in het 2e stuk php code (in jouw script) $_POST['bg'] vervangt door een variable en die die laat afhangen van de cookie dan hbe je als het goed is het probleem opgelost.
Het word dan zoiets:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
if(isset($_COOKIE['Achtergrond']))
{
$bg = $_COOKIE['Achtergrond'];
}
if (isset($bg))
{
if ($bg == 'Achtergrond 1')
{
echo '<style type="text/css">' .
'#bg { background-image: url(bg4.jpg); }' .
'</style>';
}
if ($bg == 'Achtergrond 2')
{
echo '<style type="text/css">' .
'#bg { background-image: url(bg2.jpg); }' .
'</style>';
}
if ($bg == 'Achtergrond 3')
{
echo '<style type="text/css">' .
'#bg { background-image: url(bg3.jpg); }' .
'</style>';
}
}
?>
if(isset($_COOKIE['Achtergrond']))
{
$bg = $_COOKIE['Achtergrond'];
}
if (isset($bg))
{
if ($bg == 'Achtergrond 1')
{
echo '<style type="text/css">' .
'#bg { background-image: url(bg4.jpg); }' .
'</style>';
}
if ($bg == 'Achtergrond 2')
{
echo '<style type="text/css">' .
'#bg { background-image: url(bg2.jpg); }' .
'</style>';
}
if ($bg == 'Achtergrond 3')
{
echo '<style type="text/css">' .
'#bg { background-image: url(bg3.jpg); }' .
'</style>';
}
}
?>
Ik heb het nu redelijk voorgekauwd, ik hoop dat je het ook snapt.
Voor de duidelijkheid:
Als je de inhoud van een cookie wilt hebben doe je dat zo:
Gewijzigd op 01/01/1970 01:00:00 door Raymond ---
Raymond schreef op 16.06.2009 19:01:
Je wilt namelijk maar 1 cookie (met de naam 'Achtergrond') en niet 3 verschillende cookie's
Het word dan zo:
Het word dan zo:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if ($_POST['bg'] == 'Achtergrond 1')
{
$Achter = "Achtergrond 1";
setcookie("Achtergrond", $Achtergrond, time()+3600);
}
if ($_POST['bg'] == 'Achtergrond 2')
{
$Achter = "Achtergrond 2";
setcookie("Achtergrond", $Achtergrond, time()+3600);
}
if ($_POST['bg'] == 'Achtergrond 3')
{
$Achter = "Achtergrond 3";
setcookie("Achtergrond", $Achtergrond, time()+3600);
}
{
$Achter = "Achtergrond 1";
setcookie("Achtergrond", $Achtergrond, time()+3600);
}
if ($_POST['bg'] == 'Achtergrond 2')
{
$Achter = "Achtergrond 2";
setcookie("Achtergrond", $Achtergrond, time()+3600);
}
if ($_POST['bg'] == 'Achtergrond 3')
{
$Achter = "Achtergrond 3";
setcookie("Achtergrond", $Achtergrond, time()+3600);
}
Dit kan je volgens mij beter met een switch doen.
Dat is inderdaad nog beter (ik had gewoon zijn code gepakt en de underscores weg gehaald).
Moet lijn 39 t/m 64 niet in de head gedeelte van zijn pagina?
Bedankt :)
Ik zal het later in de avond meteen testen of het dan lukt of niet.
Maar nu ff flink wat trainen in de fitnis :P
-Axonar-
Mark schreef op 16.06.2009 19:08:
Moet lijn 39 t/m 64 niet in de head gedeelte van zijn pagina?
Ja dat kan, maar om het makkelijker te maken heb ik ze van elkaar gescheiden.
Gewijzigd op 01/01/1970 01:00:00 door Tolga
Reuze bedankt joch :P, het is me eindelijk gelukt :).
Hieronder heb je de code staan die wel werkt.
En ook begrijp ik nu hoe cookies eenmaal in elkaar zitten ;).
Mvg,
Tolga
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?php
if ($_POST['bg'])
{
$Achtergrond = $_POST['bg'];
if ($_POST['bg'] == 'Achtergrond 1')
{
setcookie("Achtergrond", $Achtergrond, time()+3600);
}
if ($_POST['bg'] == 'Achtergrond 2')
{
setcookie("Achtergrond", $Achtergrond, time()+3600);
}
if ($_POST['bg'] == 'Achtergrond 3')
{
setcookie("Achtergrond", $Achtergrond, time()+3600);
}
}
?>
<html>
<head>
<title>Veranderen van achtergronden</title>
</head>
<body>
<form method="POST" action="">
<table align="center">
<tr><td>
<div id="bg"><table border="1" width="500px" height="300px"></div>
<tr><td>
<?php
if(isset($_COOKIE['Achtergrond']))
{
$bg = $_COOKIE['Achtergrond'];
}
if (isset($bg))
{
if ($bg == 'Achtergrond 2')
{
echo '<style type="text/css">' .
'#bg { background-image: url(bg4.jpg); }' .
'</style>';
}
if ($bg == 'Achtergrond 3')
{
echo '<style type="text/css">' .
'#bg { background-image: url(bg2.jpg); }' .
'</style>';
}
if ($bg == 'Achtergrond 1')
{
echo '<style type="text/css">' .
'#bg { background-image: url(bg3.jpg); }' .
'</style>';
}
}
?>
</td></tr>
</table>
</td></tr>
<tr><td>
<table border="1" width="500px" height="30px">
<tr><td align="center">
<input type="submit" name="bg" value="Achtergrond 1">
</td><td align="center">
<input type="submit" name="bg" value="Achtergrond 2">
</td><td align="center">
<input type="submit" name="bg" value="Achtergrond 3">
</td></tr>
</table>
</td></tr>
</table>
</form>
</body>
</html>
if ($_POST['bg'])
{
$Achtergrond = $_POST['bg'];
if ($_POST['bg'] == 'Achtergrond 1')
{
setcookie("Achtergrond", $Achtergrond, time()+3600);
}
if ($_POST['bg'] == 'Achtergrond 2')
{
setcookie("Achtergrond", $Achtergrond, time()+3600);
}
if ($_POST['bg'] == 'Achtergrond 3')
{
setcookie("Achtergrond", $Achtergrond, time()+3600);
}
}
?>
<html>
<head>
<title>Veranderen van achtergronden</title>
</head>
<body>
<form method="POST" action="">
<table align="center">
<tr><td>
<div id="bg"><table border="1" width="500px" height="300px"></div>
<tr><td>
<?php
if(isset($_COOKIE['Achtergrond']))
{
$bg = $_COOKIE['Achtergrond'];
}
if (isset($bg))
{
if ($bg == 'Achtergrond 2')
{
echo '<style type="text/css">' .
'#bg { background-image: url(bg4.jpg); }' .
'</style>';
}
if ($bg == 'Achtergrond 3')
{
echo '<style type="text/css">' .
'#bg { background-image: url(bg2.jpg); }' .
'</style>';
}
if ($bg == 'Achtergrond 1')
{
echo '<style type="text/css">' .
'#bg { background-image: url(bg3.jpg); }' .
'</style>';
}
}
?>
</td></tr>
</table>
</td></tr>
<tr><td>
<table border="1" width="500px" height="30px">
<tr><td align="center">
<input type="submit" name="bg" value="Achtergrond 1">
</td><td align="center">
<input type="submit" name="bg" value="Achtergrond 2">
</td><td align="center">
<input type="submit" name="bg" value="Achtergrond 3">
</td></tr>
</table>
</td></tr>
</table>
</form>
</body>
</html>
Gelieve Niet Bumpen::
Gewijzigd op 01/01/1970 01:00:00 door Tolga
Graag gedaan, mooi dat het werkt.
ook heb ik mijn script nog eens aangepast (van if naar switch):
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
switch ($_POST['bg'])
{
case 'Achtergrond 1':
{
setcookie("Achtergrond", $_POST['bg'], time()+3600);
}
break;
case 'Achtergrond 2':
{
setcookie("Achtergrond", $_POST['bg'], time()+3600);
}
break;
case 'Achtergrond 3':
{
setcookie("Achtergrond", $_POST['bg'], time()+3600);
}
break;
}
?>
<html>
<head>
<title>Veranderen van achtergronden</title>
</head>
<body>
<form method="POST" action="">
<table align="center">
<tr><td>
<div id="bg"><table border="1" width="500px" height="300px"></div>
<tr><td>
<?php
if(isset($_COOKIE['Achtergrond']))
{
$bg = $_COOKIE['Achtergrond'];
}
switch ($bg)
{
case "Achtergrond 2":
echo '<style type="text/css">' .
'#bg { background-image: url(bg4.jpg); }' .
'</style>';
break;
case "Achtergrond 3":
echo '<style type="text/css">' .
'#bg { background-image: url(bg2.jpg); }' .
'</style>';
break;
case "Achtergrond 1":
echo '<style type="text/css">' .
'#bg { background-image: url(bg3.jpg); }' .
'</style>';
break;
}
?>
</td></tr>
</table>
</td></tr>
<tr><td>
<table border="1" width="500px" height="30px">
<tr><td align="center">
<input type="submit" name="bg" value="Achtergrond 1">
</td><td align="center">
<input type="submit" name="bg" value="Achtergrond 2">
</td><td align="center">
<input type="submit" name="bg" value="Achtergrond 3">
</td></tr>
</table>
</td></tr>
</table>
</form>
</body>
</html>
switch ($_POST['bg'])
{
case 'Achtergrond 1':
{
setcookie("Achtergrond", $_POST['bg'], time()+3600);
}
break;
case 'Achtergrond 2':
{
setcookie("Achtergrond", $_POST['bg'], time()+3600);
}
break;
case 'Achtergrond 3':
{
setcookie("Achtergrond", $_POST['bg'], time()+3600);
}
break;
}
?>
<html>
<head>
<title>Veranderen van achtergronden</title>
</head>
<body>
<form method="POST" action="">
<table align="center">
<tr><td>
<div id="bg"><table border="1" width="500px" height="300px"></div>
<tr><td>
<?php
if(isset($_COOKIE['Achtergrond']))
{
$bg = $_COOKIE['Achtergrond'];
}
switch ($bg)
{
case "Achtergrond 2":
echo '<style type="text/css">' .
'#bg { background-image: url(bg4.jpg); }' .
'</style>';
break;
case "Achtergrond 3":
echo '<style type="text/css">' .
'#bg { background-image: url(bg2.jpg); }' .
'</style>';
break;
case "Achtergrond 1":
echo '<style type="text/css">' .
'#bg { background-image: url(bg3.jpg); }' .
'</style>';
break;
}
?>
</td></tr>
</table>
</td></tr>
<tr><td>
<table border="1" width="500px" height="30px">
<tr><td align="center">
<input type="submit" name="bg" value="Achtergrond 1">
</td><td align="center">
<input type="submit" name="bg" value="Achtergrond 2">
</td><td align="center">
<input type="submit" name="bg" value="Achtergrond 3">
</td></tr>
</table>
</td></tr>
</table>
</form>
</body>
</html>
mitchel schreef op 17.06.2009 10:15:
met header() kan je de pagina refreshen.
Dit helpt niet want het blijft constant refreshen (per 1 sec.)...
Gewijzigd op 01/01/1970 01:00:00 door Tolga
Tolga schreef op 17.06.2009 13:54:
Dit helpt niet want het blijft constant refreshen (per 1 sec.)...
was vergeten er bij te zeggen dat je wel naar een pagina moet refreshenmitchel schreef op 17.06.2009 10:15:
met header() kan je de pagina refreshen.
Dit helpt niet want het blijft constant refreshen (per 1 sec.)...
[
mitchel schreef op 17.06.2009 14:13:
T.T Hiermee krijg ik hetzelfde effect... :S
Tolga schreef op 17.06.2009 13:54:
Dit helpt niet want het blijft constant refreshen (per 1 sec.)...
was vergeten er bij te zeggen dat je wel naar een pagina moet refreshenmitchel schreef op 17.06.2009 10:15:
met header() kan je de pagina refreshen.
Dit helpt niet want het blijft constant refreshen (per 1 sec.)...
T.T Hiermee krijg ik hetzelfde effect... :S
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
if(isset($_POST['bg']))
{
switch ($_POST['bg'])
{
case 'Achtergrond 1':
{
setcookie("Achtergrond", $_POST['bg'], time()+3600);
}
break;
case 'Achtergrond 2':
{
setcookie("Achtergrond", $_POST['bg'], time()+3600);
}
break;
case 'Achtergrond 3':
{
setcookie("Achtergrond", $_POST['bg'], time()+3600);
}
break;
}
header('Location: index.php');
exit();
}
?>
if(isset($_POST['bg']))
{
switch ($_POST['bg'])
{
case 'Achtergrond 1':
{
setcookie("Achtergrond", $_POST['bg'], time()+3600);
}
break;
case 'Achtergrond 2':
{
setcookie("Achtergrond", $_POST['bg'], time()+3600);
}
break;
case 'Achtergrond 3':
{
setcookie("Achtergrond", $_POST['bg'], time()+3600);
}
break;
}
header('Location: index.php');
exit();
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Marien xD
Marien schreef op 17.06.2009 15:13:
Je moet het eerste blok waar je de cookie zet tussen een if zetten:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
if(isset($_POST['bg']))
{
switch ($_POST['bg'])
{
case 'Achtergrond 1':
{
setcookie("Achtergrond", $_POST['bg'], time()+3600);
}
break;
case 'Achtergrond 2':
{
setcookie("Achtergrond", $_POST['bg'], time()+3600);
}
break;
case 'Achtergrond 3':
{
setcookie("Achtergrond", $_POST['bg'], time()+3600);
}
break;
}
header('Location: index.php');
exit();
}
?>
if(isset($_POST['bg']))
{
switch ($_POST['bg'])
{
case 'Achtergrond 1':
{
setcookie("Achtergrond", $_POST['bg'], time()+3600);
}
break;
case 'Achtergrond 2':
{
setcookie("Achtergrond", $_POST['bg'], time()+3600);
}
break;
case 'Achtergrond 3':
{
setcookie("Achtergrond", $_POST['bg'], time()+3600);
}
break;
}
header('Location: index.php');
exit();
}
?>
Reuze bedankt! Het heeft gewerkt! :D
Code (php)
Op deze manier hoef je alleen maar een array aan te vullen voor meer waardes :)