Реклама на сайте Advertise with us

Вопрос знатокам PHP

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 09.09.09
Сообщения: 48
Рейтинг: 29

Ссылка на сообщениеДобавлено: 13/07/13 в 15:03       Ответить с цитатойцитата 

Есть такой простейший скрипт ротатора

Код:

<?php
$banners = array ();
$banners[1] = '<a href="Ссылка перехода №1"><img src="Баннер №1"></a>';
$banners[2] = '<a href="Ссылка перехода №2"><img src="Баннер №2"></a>';
$banners[3] = '<a href="Ссылка перехода №3"><img src="Баннер №3"></a>';
echo $banners[array_rand ($banners)];
?>


модифицировать так чтоб ротировал не рандомно а по очереди 1,2,3,1,2,3 и т.д.

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 13/07/13 в 15:53       Ответить с цитатойцитата 

просто так скриптом сделать нельзя, где-то надо хранить предыдущее значение

3
 



С нами с 20.02.06
Сообщения: 248
Рейтинг: 366

Ссылка на сообщениеДобавлено: 13/07/13 в 17:13       Ответить с цитатойцитата 

Всё верно, например в куке

3
 



С нами с 08.08.08
Сообщения: 145
Рейтинг: 91

Ссылка на сообщениеДобавлено: 13/07/13 в 22:46       Ответить с цитатойцитата 

А смысл? Всё равно получится почти рандомно, на больших числах. Или имеется в виду, одному и тому же посетителю последовательно показывать? Тогда да, кука или сессия. Уточни вопрос.

0
 



С нами с 13.02.12
Сообщения: 6
Рейтинг: 10

Ссылка на сообщениеДобавлено: 14/07/13 в 15:51       Ответить с цитатойцитата 

Я так понял что у него задача показать все баннеры каждому юзеру.
Через сессию корректнее, сессии можно верить хотя бы.

Код:
session_start();

$banners = array ();
$banners[] = '<a href="Ссылка перехода №1"><img src="Баннер №1"></a>';
$banners[] = '<a href="Ссылка перехода №2"><img src="Баннер №2"></a>';
$banners[] = '<a href="Ссылка перехода №3"><img src="Баннер №3"></a>';

$cur = $_SESSION["shown_banner"] = (++$_SESSION["shown_banner"] >= count($banners) ? 0 : $_SESSION["shown_banner"]);
echo $banners[$cur];



session_start должна вызываться в начале скрипта, до любого вывода (посылает куку).

4
 



С нами с 09.09.09
Сообщения: 48
Рейтинг: 29

Ссылка на сообщениеДобавлено: 14/07/13 в 15:59       Ответить с цитатойцитата 

pipe писал:
А смысл? Всё равно получится почти рандомно, на больших числах. Или имеется в виду, одному и тому же посетителю последовательно показывать? Тогда да, кука или сессия. Уточни вопрос.


нужно чтоб все баннеры были показаны одинаковое количество раз,
ну или как вариант возможность выставить процентно показ каждого баннера так даже еще круче

0
 



С нами с 09.09.09
Сообщения: 48
Рейтинг: 29

Ссылка на сообщениеДобавлено: 14/07/13 в 16:01       Ответить с цитатойцитата 

amccc писал:
Я так понял что у него задача показать все баннеры каждому юзеру.


все верно юзер ходит по страницам и ему показваем по очереди все банеры

0
 



С нами с 17.01.13
Сообщения: 9
Рейтинг: 23

Ссылка на сообщениеДобавлено: 14/07/13 в 19:48       Ответить с цитатойцитата 

Nielsen писал:
все верно юзер ходит по страницам и ему показваем по очереди все банеры

ну тогда как выше сказали - хранить текущий счетчик простмотров тсраниц в куках и показывать по порядку -

Код:
<?php
$banners = array ('<a href="Ссылка перехода №1"><img src="Баннер №1"></a>','<a href="Ссылка перехода №2"><img src="Баннер №2"></a>','<a href="Ссылка перехода №3"><img src="Баннер №3"></a>');
//кстати, забудь о том, чтобы начинать массив с 1 - индексы начинаются с нуля блять, надо привыкнуть
$myfuckingviews=0+$_COOKIE['myfuckingviews'];
setcookie ( 'myfuckingviews', $myfuckingviews+1, 0, '/', $_SERVER['HTTP_HOST']);

//*** после того, как будут отданы все HTTP заголовки и начнетсся выдача содержимого страницы
echo $banners[$myfuckingviews % count($banners)];

?>

3
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »