Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Скрипт для показа баннеров


Автор: phonograph 18.8.2008, 16:30
Нужен простой скрипт который бы показывал баннеры google adsence на странице через php код, что бы код adsence можно было менять на странице админа. Тоесть нужно так - на странице админа будет поле куда можно ввести код adsence и вставить на сайте в нужное место php параметр который выводит этот код.

Автор: skyboy 18.8.2008, 17:06
с помощью чего выводится существующая "страница"? какая-то CMS? шабонизатор? самописный "движок"? скрипт, который выдирает код(на самом деле, побоку, что делает код - выводит рекламу или фотографии пользователя) из БД или текстового файла и выводит кроме остального контента ещё и этот кусок - действительно прост до нельзя. потому что делать это будет не отдельный "простой скрипт", а тот же код, который выводит все остальное содержимое страницы

Автор: Gold Dragon 19.8.2008, 08:21
делаем таблицу
Код

CREATE TABLE `gd_drug` (
  `id` int(11) NOT NULL auto_increment,
  `file` varchar(30) NOT NULL,
  `fio` varchar(250) NOT NULL,
  `name` varchar(250) NOT NULL,
  `mail` varchar(150) NOT NULL,
  `hit` int(11) default '0',
  `url` varchar(150) NOT NULL,
  `pereh` int(11) default '0',
  `limit` int(11) NOT NULL default '0',
  `index` tinyint(4) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2 ;


вот пример заполнения
Код

INSERT INTO `gd_drug` VALUES (1, '00000001.png', 'Тамбовский фотосайт', 'Тамбовский фотосайт. Самые лучшие моменты запечатленные в снимке.', 'illusive@bk.ru', 1, 'http://foto.lanta-net.ru', 7, 0, 1);

вот функция для показа
Код

function fIndexDrug(){
    global $baza;
    $z = "SELECT * 
        FROM `gd_drug` 
        WHERE `limit` > `hit` 
        OR `limit` =0
        AND `index` =1
        ORDER BY rand() 
        LIMIT 1";
    $r = $baza->query($z);
    if ($baza->num_rows($r)>0){
        $f = $baza->fetch_object($r);
        $info['id']        = $f->id;
        $info['file']    = $f->file;
        $info['url']    = $f->url;
        $info['name']    = $f->name;
        $z = "UPDATE `gd_drug` SET `hit`=`hit`+1 WHERE `id`=".$info['id'];
        $r = $baza->query($z);
    }
    else {
        $info['id'] = '';
        $info['file'] = '';
        $info['url'] = '';
        $info['name'] = '';
    }
    
    return $info;    
}

вот получение кода
Код

$drug = ($info['id']!='') ? '<a href="befocus.ru/index.php?pages=in11&id='.$info['id'].'" target="_blank">
<img src="'.$gd_site.'/images/drug/'.$info['file'].'" border="0"></a>' : '';
// потом в любом месте там где тебе надо выводишь переменную
echo $drug;

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

$contentGlobal = fIn11();
function fIn11(){
    global $baza, $gd_site;
    
    $id = (isset($_GET['id'])) ? fIn11ValidInt($_GET['id']): '';
    $z = "SELECT * 
        FROM `gd_drug` 
        WHERE `id` = ".$id." 
        LIMIT 1";
    $r = $baza->query($z);
    if ($baza->num_rows($r)>0){
        $f = $baza->fetch_object($r);
        $info['id']        = $f->id;
        $info['url']    = $f->url;
        $z = "UPDATE `gd_drug` SET `pereh`=`pereh`+1 WHERE `id`=".$info['id'];
        $r = $baza->query($z);
        print "<script>document.location.href='".$info['url']."'</script>";
        exit;
    }
    else {
        print "<script>document.location.href='".$gd_site."'</script>";
        exit;
    }
}
function fIn11ValidInt($int){
//*****************************************************************
// остаются только цифры
// если цифр нет, возвращает ''
//*****************************************************************
    $id = preg_replace('#\D+#','',$int);
    if($id==''){
        return $id;
    }else{
        $id = $id + 0;
        return $id;
    }
}

по тексту...
- $baza - это класс для работы с базой
- $gd_site - это просто адрес сайта

код рабочий.. Может только упустил какую переменную... просто кусок из проекта вырван

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)