SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

Ротация на банери на адсенс и изитрейдър

denis

Banned
Здравейте, търся помощ как да създам ротация на банери на изитрейдър и адсенс ако може и хттпоол на едно рекламно място? Знам скрипт за ротация на обикновени банери (изображения) но рекламите на тези сайтове не са изображения, а скриптове, как може тези скриптове да се направи да ротират на една позиция?
 
Re: Ротация на банери на адсенс и изитрейдър

Извиквай отделни страници на мястото на банера "PHP" include ,най-елементарно
 
Re: Ротация на банери на адсенс и изитрейдър

PHP:
<?
$i = rand(0,2);
switch ($i){
	case 0:
		require('adsense.code.php');
		break;
	case 1:
		require('httpool.code.php');
		break;
	case 2:
		require('easy.code.php');
		break;
}

ако се нуждаеш от допълнителна помощ пиши.
 
Re: Ротация на банери на адсенс и изитрейдър

PHP:
<?
$i = rand(0,2);
switch ($i){
	case 0:
		require('adsense.code.php');
		break;
	case 1:
		require('httpool.code.php');
		break;
	case 2:
		require('easy.code.php');
		break;
}

ако се нуждаеш от допълнителна помощ пиши.

Браво, bobbydigital. Направил си го по правилният начин, аз бих го направил с ифове :) Голяма краста са ми понякога :D
 
Re: Ротация на банери на адсенс и изитрейдър

PHP:
<?
$i = rand(0,2);
switch ($i){
	case 0:
		require('adsense.code.php');
		break;
	case 1:
		require('httpool.code.php');
		break;
	case 2:
		require('easy.code.php');
		break;
}

ако се нуждаеш от допълнителна помощ пиши.
Само да попитам, накрая не трябва ли да се затвори с ?> И също така, аз нямам по един код за адсенс и изитрейдър, а около 7-8 за всяка една от двете, който са на различните позиции в сайта, как точно да сложа тези няколко кода на адсенс в adsece.code.php и easy.code.php примерно или ще трябва да се направи за всеки скрипт от един файл и да се добави със case, нещо такова ли ще е:

PHP:
<?
$i = rand(0,7);
switch ($i){
	case 0:
		require('httpool.code1.php');
		break;
	case 1:
		require('httpool.code2.php');
		break;
	case 2:
		require('adsense.code1.php');
		break;
       case 3:
		require('adsense.code2.php');
		break;
       case 4:
		require('adsense.code3.php');
		break;
        case 5:
		require('easy.code1.php');
		break;
        case 6:
		require('easy.code2.php');
		break;
        case 7:
		require('easy.code3.php');
		break;
}
и т.н
 
Последно редактирано:
Re: Ротация на банери на адсенс и изитрейдър

$i = rand(0,2); не е много добра идея без проверка, защото може да върне едно число много пъти последователно. Хубаво е да се направи проверка ако е дало едно число, след това да е другото, после третото и пак отначало.
 
Re: Ротация на банери на адсенс и изитрейдър

подобрена версия със взети предвид забележките

PHP:
<?
$ad_position_name = 'top_banner';
if(!isset($_SESSION[$ad_position_name])){
	$_SESSION[$ad_position_name] = 0;
}
while(($i = rand(0, 2)) == $_SESSION[$ad_position_name]);
switch ($i){
    case 0:
        require('adsense.code.php');
        break;
    case 1:
        require('httpool.code.php');
        break;
    case 2:
        require('easy.code.php');
        break;
}
$_SESSION[$ad_position_name] = $i; 
?>

значи за всяка една позиция слагаш този код, там където трябва да ти е банера.

PHP:
$ad_position_name = 'top_banner';
тука си пишеш името на позицията.

а във файловете слагаш съответните javascript-ове
 
Re: Ротация на банери на адсенс и изитрейдър

даже още по секси е така :

PHP:
<?
/**
 * ad.rotator.php
 */
if(!isset($_SESSION[$ad_position_name])){
	$_SESSION[$ad_position_name] = 0;
}
while(($i = rand(0, 2)) == $_SESSION[$ad_position_name]);
switch ($i){
    case 0:
        require($ad_position_name . '.adsense.code.php');
        break;
    case 1:
        require($ad_position_name . '.httpool.code.php');
        break;
    case 2:
        require($ad_position_name . '.easy.code.php');
        break;
}
$_SESSION[$ad_position_name] = $i; 
?>


използване :
<?
$ad_position_name = 'top300x250';
require('ad.rotator.php');
?>

за всяка позиция си правиш комплект файлове :

top300x250.adsense.code.php
top300x250.httpool.code.php
top300x250.easy.code.php
 
Re: Ротация на банери на адсенс и изитрейдър

На отворкото с негативната репутация
...rand() returns a pseudo-random integer between 0 and getrandmax().
Нужда от превод? А понеже практически съм се сблъсквал точно с този проблем, затова и написах коментара.
Ето ти един код, и ми кажи колко пъти дава по 33% ротация (нали това е идеята?) на трите числа:
Код:
<? 
for ($i = 0; $i <= 8; $i++) {
    $p = rand(0,2);
    echo $p.'<br />';
}
?>
 
Re: Ротация на банери на адсенс и изитрейдър

Визира този , който му е сложил червената негативна репутация под мнението. :)
 
Re: Ротация на банери на адсенс и изитрейдър

Пробвах за една позиция следния код:
PHP:
<?
$i = rand(0,2);
switch ($i){
    case 0:
        require('adsense.code.middlearticle.php');
        break;
    case 1:
        require('httpool.code.middlearticle.php');
        break;
    case 2:
        require('etarget.code.middlearticle.php');
        break;
} 
?>
като създадох тези файлове и вътре във всеки един има код за реклама размер 468х60 от съответния сайт, качих 3те файла файлове в руут директорията на сайта ми, зададох на мястото на реклама където трябва да се появи този php код, но не ми изкарва никакви реклами. Къде греша?
 
Последно редактирано:
Re: Ротация на банери на адсенс и изитрейдър

има много варианти за грешка.
може скрипта да не се изпълнява. кои ти е сайта ползваш ли готова система или е нещо custom ?

p.s. не съм писал аз негативния коментар
 
Re: Ротация на банери на адсенс и изитрейдър

надявам се не визираш мен.
Ами не знам ти ли си, кой е. По-съществено е, че разни хора претендират да са програмисти, а не знаят такива елементарни неща. Специално тествах скрипта и от 20 завъртания само един път даде рановмерно разпределение. а в 18 от случаите имаше поредица от 3 последователни повторения (минимум). Та, затова се дразня, някой дава негативна репутация, ей така, без да мисли.
 
Re: Ротация на банери на адсенс и изитрейдър

bobbydigital, писах ти ЛС да продължим там, че тука стана бойно поле :D
 
Re: Ротация на банери на адсенс и изитрейдър

ами не съм аз защото го знам това за rand. тествай последния вариант. при него трябва да са по равномерни нещата.
 
Re: Ротация на банери на адсенс и изитрейдър

Относно rand() функционалността да вметна една моя статистика:
http://borntodrink.org/?p=175

За малък брой импресии вярно, че може да се дублират, но като цяло средния резултат е добър, както виждате. :) Пробвал съм и на сайт, получава се и с rand.
Въпреки, че след дълги разисквания с колеги, най-добрия вариант при ротиране с процент на показвания си остава непроста функция и база данни. :)
Там не оставяме нищо на случайностите, но в зависимост от сайта, може би не си заслужава усилията.

Ето и една идея за ротиране, пак с rand, но и с проценти показвания:
Ако имаме 3 банера с приоритети от 1 до 10:
1-ви -> 3
2-ри -> 6
3-ти -> 10

Правим масив, който съдържа 19 елемента (сбора от приоритетите). Масива всъщност е индекс 1,2,3 и т.н.
Първите 3 индекса съдържат ID-то на първия банер, следващите 6 съдържат ID-то на втория и останалите ID-то на третия.
Пускаме ранд от 1 до 19 и дърпаме ид-то с индекс $arr[rand(1, 19)].
Възможността да се падне банера с приоритет 10 е най-голяма (теоретично).
Реализира се лесно и естествено има доза шанс да не е перфектно точно, но като цяло работи. :)
 
Последно редактирано:

Горе