本文实例讲述了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程序设计有所帮助。