用cookie显示浏览历史时, unserialize出错
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php$id = $_GET['id']+0;echo '上一页<br />';echo '<br />下一页'; <mark style="color:transparent">本%文来源gaodaimacom搞#^代%!码网@</mark>搞代gaodaima码if(isset($_COOKIE['his'])) { //echo $_COOKIE['his'];exit; $data = unserialize($_COOKIE['his']); $url = $_SERVER['REQUEST_URI']; $data[] = $url; $data = array_unique($data); if(count($data) >10) { array_shift($data); } $urls = serialize($data); setcookie('his',$urls,time()*2*24*3600);} else { $url = $_SERVER['REQUEST_URI']; $data[] = $url; $urls = serialize($data); setcookie('his',$urls,time()*2*24*3600);}?><br /><br /><ul> <li>浏览历史</li> <?php foreach($data as $v) { ?> <li>"><?php echo $v; ?></li> <?php } ?></ul>
在浏览器中打开并在地址栏上输入id后,浏览器给了一个提示
- HTML code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->Notice: unserialize() [function.unserialize]: Error at offset 9 of 41 bytes in D:\server\apache\www\20120413\history.php on line 16
而且显示的历史记录也就一条,我想可能和上面的错误有关,可找不到解决的办法,语法上我看了几片,暂时没发现上面错误,望达人解惑!!!!!!
——解决方案——————–
$data = unserialize(stripslashes($_COOKIE[‘his’]));
这样试试,,不对打印出cookie值贴上来,