PHP СЕССИИ Проблема - PullRequest
       0

PHP СЕССИИ Проблема

0 голосов
/ 25 июля 2011

У меня есть два сценария, но я не могу заставить их работать вместе.

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();?> в начале каждого фрагмента кода, но, похоже, ничего не работает.

В какой-то момент мне удается заставить работать оба сценария, но сценарий счетчика просмотров страниц считал от 3 до 3, а не от 1 до 1. Обратите внимание, что сценарий случайной ссылки также имеет 3 значения; так что я думаю, что что-то несовместимо с обоими сценариями

Буду признателен за любую помощь и руководство в том, как или где мне нужно разместить код.

Спасибо и извините за мой английский Daniel

1 Ответ

0 голосов
/ 25 июля 2011

try находится вверху кода

, просто добавьте "$ _SESSION ['views'] = 0;"один раз, когда вы запускаете основной скрипт, я думаю, что он будет работать

<code>$_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 "
"if (isset ($ _ SESSION ['views'])) $ _SESSION ['views'] = $ _ SESSION ['views']+1; иначе $ _SESSION ['views'] = 1; echo "Pageviews =". $ _SESSION ['views'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...