jast (12 Августа 2012 / 22:01)
В общем есть сайт и надо сделать таким образом что бы каждый 5 клик уходил по одному адресу, каждый 10 по другому адресу, 15 по третему адресу.
как это реализовать?
проще рандом сделать но я толком не понял как это каждый пятый десятый клик. мсмысле каждое десятое выполнение скрипта? и каждый десятый клик всех пользователей или для каждого отдельный счетчик неужели так трудно нормально задать вопрос не думаю что здесь есть какие то уникумы которые читают мысли.
Вообщем вот код, каждое десятое 5 выполнение этого кода будет переправлять юзера на случайную ссылку.
Счетчик определен для каждого пользователя отдельно. Надо ставить до первого выхлопа если не используется буферизация. Впроцем сделал что бы если попадется выхлоп в браузер перед кодом то все равно сработает переадресация посредством JS или же если не поддерживается тогда средствами мета тега
<?php
if ( !isset( $_SESSION ) ) { // если сессия не обьявлена
session_name( 'SID' ); // указать имя для сессии
session_start(); // запустить конструктор сессиии
}
$link = array(); // Обявляем массив
$link[] = 'http://visavi.net/'; // Добавляем в массив ссылку http://visavi.net/
$link[] = 'http://google.com/'; // Добавляем в массив ссылку http://google.com/
$link[] = 'http://wapinet.ru/'; // Добавляем в массив ссылку http://wapinet.ru/
// И так у нас в массиве три ссылки
$c = sizeof($link);
if ( $c > 0 ) {
if ( !isset( $_SESSION['redirect'] )
$_SESSION['redirect'] = 0;
if ( ++ $_SESSION['redirect'] >= 5 ) {
$_SESSION['redirect'] = 0;
$key = mt_rand( 0, ( $c - 1 ) );
if ( isset( $link[$key] ) ) {
@header( 'Location: ' . $link[$key] );
echo '<script type="text/javascript">';
echo ' location.href="' . $link[$key] . '"; ';
echo '</script>';
echo '<noscript>';
echo '<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=' . $link[$key] . '">';
echo '</noscript>';
exit;
}
}
}
С тебя 5 баксов на кошель Z411098196540
Changed: T-S (13.08.2012 / 16:37)