Нужно изменить Php скрипт и парочку команд к Mysql

Тема в разделе "PHP программирование", создана пользователем Bios23rus, 16 апр 2008.

  1. Bios23rus

    Bios23rus Гость

    Вообщем у меня есть скрипт типо поп андера,но работает он немного криво.
    Он работает так
    Показывается банер,ip адресу этот банер больше не показывается,потом нету проверки тоесть можно накручивать с одного ip адреса хоть миллион долларов.
    А нужно чтоб банер показывался пока его не закроют,после закрытия естественно открывается окно ниже(и банер этому ip больше не показывался),накручивать тоже нельзя было тоесть если этот ip адрес уже закрыл этот банер и попробывал накрутить тоесть закрыть его ещё раз с тогоже ip адреса то это бы не засчитывалось.Если возможно то сделать так,чтоб банер загружался например только русским браузерам или ip адресам,а другим нет.
    Я понимаю,что это всегда делается за деньги,но я уже влетел на деньги купил скрипт который нефига не работает как надо.Заранее всем спасибо,буду всем благодарен.
    Вот собственно скрипт той страницы где всё это происходит.
    [codebox]<?php

    error_reporting(0);
    session_start();
    @require_once("config.php");
    @require_once("functions.php");
    if(isset($_GET['id']))
    {
    $id = intval($_GET['id']);
    $sql = mysql_query("SELECT * FROM `users` WHERE `id` = '".$id."'");
    if(mysql_num_rows($sql) > 0)
    {
    $s_sql = mysql_fetch_array($sql);
    if(empty($s_sql['sites'])){exit();}

    $ip = ip();
    $dat = date('d.m.Y');
    $time = date("H:i:s");
    $ref = htmlspecialchars(stripslashes(getenv("HTTP_REFERER")));
    $ua = htmlspecialchars(stripslashes(getenv("HTTP_USER_AGENT")));
    $site = $ref;
    $query = mysql_query("SELECT * FROM `stat` WHERE `userid` = '".$id."' and `ip` = '".$ip."' and `dat` = '".$dat."' ");
    if(mysql_num_rows($query) == 0)
    {
    /*var out='<script type="text/javascript" src="<?php echo $servname; ?>js.php"></script><link rel="stylesheet" href="<?php echo $servname; ?>pop_style.css" type="text/css">';
    document.write(out);*/
    $see_banners = mysql_query("SELECT * FROM `banners` ORDER by id DESC LIMIT 1");
    if(mysql_num_rows($see_banners) == true)
    {
    $a = mysql_fetch_array($see_banners);
    $last = $a['id'];
    $ban_id = valid_id($last);

    $ch = mysql_query("SELECT id,kod FROM `banners` WHERE `id` = '".$ban_id."'");
    if(mysql_num_rows($ch) > 0)
    {
    $show = mysql_fetch_row($ch);
    $show_ban = $show[1];
    $banner_id = $show[0];

    ?>
    document.write("<link rel='stylesheet' href='<?php echo $servname; ?>pop_style.css' type='text/css' /><div id='PopWin'>"
    +"<div id='LinkDiv'><I><a href='http://www.net' target='_blank'>www.net</a></I></div>"
    +"<div id='PopTit' onclick='DivOff()'><a title='Закрыть' href='java script: PopShow()'>Закрыть [X]</a>"
    +"</div>"+"<center><?php echo $show_ban; ?>"+"</center>"+"</div>");

    if (document.all['PopWin'].style)
    window.setInterval("MovePop()", 10);
    window.onerror=null;
    document.body.scrollTop=10;

    function DivOff() {
    document.all['PopWin'].style.visibility='hidden';
    }

    function PopShow() {
    window.open("java script:location.href='<?php echo $servname; ?>/popup.php?banner_id=<?php echo $banner_id; ?>&user_id=<?php echo $id; ?>&s=<?php echo session_id(); ?>';","PopWin","width=640,height=480,resizable=1,toolbar=1,location=1,menubar=1,status=1,sc
    rollbars=1'");
    window.focus();
    DivOff();
    }

    function MovePop() {
    if (document.body.scrollTop==0)
    document.all['PopWin'].style.top=document.documentElement.scrollTop+150; else
    document.all['PopWin'].style.top=document.body.scrollTop+150;
    }

    <?php

    }

    }

    #Заносим новый хост
    @mysql_query("INSERT INTO `stat` VALUES(null, '".$id."', '".$dat."', '".$time."', '".$site."', '".$ua."', '".$ip."')");

    #Обновляем хосты
    $kolvo = mysql_query("SELECT `hosts` FROM `users` WHERE `id` = '".$id."'");
    $hs = mysql_fetch_array($kolvo);
    $hosts = $hs['hosts'];
    $hosts = $hosts + 1;
    @mysql_query("UPDATE `users` SET `hosts` = '".$hosts."' WHERE `id` = '".$id."'");

    #Обновляем показы баннера
    $show_sql = mysql_fetch_array(mysql_query("SELECT * FROM `banners` WHERE `id` = '".$ban_id."'"));
    $show = $show_sql['show_ban'] + 1;
    @mysql_query("UPDATE banners SET `show_ban` = '".$show."' WHERE `id` = '".$ban_id."'");

    }

    }

    }
    elseif(!empty($_GET['banner_id']) && is_numeric($_GET['banner_id']) && !empty($_GET['user_id']) && is_numeric($_GET['user_id']) && !empty($_GET['s']))
    {
    $ref = htmlspecialchars(stripslashes(getenv("HTTP_REFERER")));
    //printr($ref);
    //if(empty($ref) or $_GET['s'] != session_id()) {exit();}
    //if($_GET['s'] != session_id()) {exit();}

    $banner_id = intval($_GET['banner_id']);
    $user_id = intval($_GET['user_id']);
    $sql = mysql_query("SELECT * FROM `banners` WHERE `id` = '".$banner_id."'");
    if(mysql_num_rows($sql) > 0)
    {
    $r = mysql_fetch_array($sql);
    $site = $r['site'];
    if(empty($site)){$site = $servname;}
    $click = $r['click_ban'] + 1;

    #Обновляем клики
    @mysql_query("UPDATE `banners` SET `click_ban` = '".$click."' WHERE `id` = '".$banner_id."'");

    $sql1 = mysql_query("SELECT balans FROM `users` WHERE `id` = '".$user_id."'");
    $sql2 = mysql_fetch_row(mysql_query("SELECT plus_wmz FROM `settings`"));
    if(mysql_num_rows($sql1))
    {
    $b = mysql_fetch_row($sql1);
    $balans = $b[0] + $sql2[0];
    #Обновляем баланс юзера
    @mysql_query("UPDATE users SET `balans` = '".$balans."' WHERE `id` = '".$user_id."'");
    }
    session_unset();
    session_destroy();
    header("location:".$site);
    }
    }

    mysql_close();

    ?>[/codebox]
    Ещё раз всем спасибо кто поможет.Не знаю как выразить свою благодарность тому кто поможет,но ещё раз спасибо.

    Если можно то подробно написать,что сделать.Или что изменить.
     
  2. nws

    nws Гость

    Старайся так никогда не делать.

    Повесь себе какой нибудь mail.ru счетчик или Google Analitics и не мучайся :)
     
  3. Bios23rus

    Bios23rus Гость

    Так у меня партнёрка сама как pop-under.ru мне надо немного скрипт потделать,чтоб информация об ip хостах итп добавлялась только после нажатия на кнопку закрыть и всё.
     
  4. Bios23rus

    Bios23rus Гость

    Ладно смотрю тут мне некто не поможет 9-869-641 вот аська если вдруг кто напишет.
     
Загрузка...

Поделиться этой страницей