繁体   English   中英

PHP会话问题

[英]PHP SESSIONS Problem

我有两个脚本,但无法使其一起工作。

1-一个简单的页面浏览计数器

<?php
if(isset($_SESSION['views'])) 
$_SESSION['views']=$_SESSION['views']+1;
else
$_SESSION['views']=1; 
echo "Pageviews=". $_SESSION['views'];
?> 

2-列表中的随机链接,但不重复链接

<?php
if (empty($_SESSION['links'])) {
    // first time visit, populate random links in session
    $links = array('http://some-site.com', 'http://some-other-site.com', 'http://example.com');
    shuffle($links);
    $_SESSION['links'] = $links;
}
$link = array_shift($_SESSION['links']);
$_SESSION['links'][] = $link;
?> 

由于某种原因,如果我使用其中一个,则另一个将停止工作,两者都工作正常,但我无法使它们在同一站点上一起工作。

在标题上,我有<?php session_start(); ?> <?php session_start(); ?>但是我也将脚本移到了站点的不同部分,所以总是遇到同样的问题,一站式工作。 在每段代码的开头,我也有<?php session_start();?> ,但似乎没有任何效果。

在某些时候,我设法使两个脚本都起作用,但是页面浏览计数器脚本的计数是3到3,而不是1到1-请注意,随机链接脚本上也有3个值; 所以我的猜测是某些东西与两个脚本都不兼容

任何有关如何或在何处放置代码的帮助和指南,将不胜感激。

感谢和抱歉,我的英语丹尼尔

试试在代码的顶部

只需添加“ $ _SESSION ['views'] = 0;” 当您运行主脚本时,到达顶部一次我认为它将起作用

$_SESSION['views'] = 0;

if (empty($_SESSION['links'])) {    
    // first time visit, populate random links in session    
    $links = array('http://some-site.com', 'http://some-other-site.com', 
'http://example.com');    
    shuffle($links);    
    $_SESSION['links'] = $links;    
}

$link = array_shift($_SESSION['links']);    
$_SESSION['links'][] = $link;    
echo "<pre>";    
print_r($_SESSION['links']);    
echo "</pre>"





if(isset($_SESSION['views']))     
$_SESSION['views']=$_SESSION['views']+1;    
else    
$_SESSION['views']=1; 

echo "Pageviews=". $_SESSION['views'];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM