本文实例讲述了php实现通过cookie换肤的方法。分享给大家供大家参考。具体如下:
saveStyleSheet.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
|
<?php
function styleSheet( $currentCookie ){
// Get Current Style Sheet
$currentCookie = $_COOKIE [ "StyleSheet" ];
// Get New cookie file name
switch ( $_GET [ 'style' ]){
case 1:
$value = 'style1.css' ;
break ;
case 2:
$value = 'style2.css' ;
break ;
case 3:
$value = 'style3.css' ;
break ;
default :
$value = 'style.css' ;
break ;
}
// If the user views this page, without using
// style=... then set cookie to the default
if (!isset( $_GET [ 'style' ])){
$value = 'style.css' ;
}
// If the new value doesn't equal the old value allow cookie change
if (isset( $value )|| $currentCookie != $value ||isset( $currentCookie )){
setcookie( "StyleSheet" , $value , time()+600000); /* expires in 10,000 hours*/
return $_COOKIE [ "StyleSheet" ];
} else {
return $_COOKIE [ "StyleSheet" ];
}
if (isset( $_GET [ 'style' ])){
header( "Location: " . $_SERVER [ 'HTTP_REFERER' ]);
exit ;
}
}
?>
|
index.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
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns= "http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv= "Content-Type" content= "text/html; charset=iso-8859-1" />
<title>My Test Page</title>
<?php
include ( "saveStyleSheet.php" );
if (isset( $_COOKIE [ "StyleSheet" ])){
?>
<link rel= "stylesheet" type= "text/css" href= "stylesheets/ <?php echo styleSheet($_COOKIE[" StyleSheet "]); ?> " />
<?php
} else {
?>
<link rel= "stylesheet" type= "text/css" href= "stylesheets/style.css" />
<?php
}
?>
</head>
<body>
<a href= "saveStyleSheet.php?style=1" >Style Sheet 1</a><br />
<a href= "saveStyleSheet.php?style=2" >Style Sheet 2</a><br />
<a href= "saveStyleSheet.php?style=3" >Style Sheet 3</a><br />
<a href= "saveStyleSheet.php" >Default Style Sheet</a>
</body>
</html>
|
希望本文所述对大家的php程序设计有所帮助。