php实现通过cookie换肤的方法

yipeiwu_com5年前PHP代码库

本文实例讲述了php实现通过cookie换肤的方法。分享给大家供大家参考。具体如下:

saveStyleSheet.php页面如下:

<?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页面如下:

<!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程序设计有所帮助。

相关文章

php数组排序usort、uksort与sort函数用法

本文实例讲述了php数组排序usort、uksort与sort函数用法。分享给大家供大家参考。具体用法分析如下: 对数组排序:usort() 函数使用用户自定义的函数对数组排序,实例代码...

php若干单维数组遍历方法的比较

复制代码 代码如下: <?php //a $arr=array('a'=>'abc','b'=>123,'c'=>true); //b //$arr=range(...

PHP中使用正则表达式提取中文实现笔记

PHP中使用正则表达式提取中文实现笔记

最近老板叫做一个数据查重的小练习,涉及从一个包含中文字段的文件中提取出其中的中文字段并存储,使用php开发。中间涉及到php正则表达式中文匹配的问题,网上搜罗一大片,但是也很乱没有一个准...

php中文语义分析实现方法示例

php中文语义分析实现方法示例

本文实例讲述了php中文语义分析实现方法。分享给大家供大家参考,具体如下: 最近公司有个需求要做文章关键词提取,发现有个波森语义分析,还不错,把其http接口封装了一下, 发布到pack...

PHP中使用数组实现堆栈数据结构的代码

在堆栈中,最后压入的数据(进栈),将会被最先弹出(出栈)。 即在数据存储时采用“先进后出”的数据结构。 PHP中,将数组当做一个栈,主要是使用array_push()和array_pop...