article.php
<?
header("content-type:text/html;charset=utf-8");
//准备测试数据
$all_data = array(
//文章id => array(文章标题,文章内容)
1 => array('1:标题1','内容1……'),
2 => array('2:标题2','内容2……'),
3 => array('3:标题3','内容3……'),
4 => array('4:标题4','内容4……'),
);
//获取当前文章id
$id=isset($_GET['id'])?intval($_GET['id']):1;
//上一页的id
$id_prev=$id-1;
//下一页的id
$id_next=$id+1;
//防止越界
if($id<1)$id=1;
if($id>4)$id=4;
if($id_prev<1)$id_prev=1;
if($id_next>4)$id_next=4;
if(isset($_COOKIE['history'])){
//当history存在时,取出数据
//取出数据,限制数组最多为4
$cookie_arr=explode(',',$_COOKIE['history'],4);
//遍历数组
foreach($cookie_arr as $k=>$v){
//将数组中每个元素转为整型
$cookie_arr[$k]=intval($cookie_arr[$k]);
//当id值已存在该数组,将其删除
if($v==$id) unset($cookie_arr[$k]);
}
//当数组元素达到4,删掉第一个元素
if(count($cookie_arr)>3){
array_shift($cookie_arr);
}
//在数组末尾添加当前文章id
$cookie_arr[]=$id;
setcookie('history',implode(',',$cookie_arr));
}else{
$cookie_arr=array($id);
//当history不存在的时候设置,向cookie保存 history记录
setcookie('history',$id);
}
//清楚历史记录
if(isset($_GET['action'])){
if($_GET['action']=='clear'){
$cookie_arr=array();
setcookie('history','',time()-1);
}
}
//data用于保存当前对应的文章数据
$data=$all_data[$id];
//data_history用于保存cookie中的历史记录
$data_history=array();
foreach($cookie_arr as $v){
if(isset($all_data[$v])){
$data_history[$v]=$all_data[$v][0];
}
}
//加载html模板文件
define('APP','123');
require('article_html.php');
article_html.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=utf-8" />
<title>无标题文档</title>
</head>
<body>
<div>
<div>
<?php echo $data[0];?>
<p><?php echo $data[1];?></p>
</div>
<div>
<a href="?id=<?php echo $id_prev;?>">上一篇</a>
<a href="?id=<?php echo $id_next;?>">下一篇</a>
</div>
<div>
浏览历史:(<a href="?action=clear">清楚历史</a>)
<ul>
<?php
foreach($data_history as $k=>$v){
echo "<li><a href=\"?id=$k\">$v</a></li>";
}
?>
</ul>
</div>
</div>
</body>
</html>