Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 29.03.2012
Сообщений: 8
1

Нужна помощь в доработке скрипта

30.03.2012, 02:23. Показов 846. Ответов 2
Метки нет (Все метки)

Здравствуйте.
Скачал тизерный скрипт, сейчас дорабатываю для себя и теперь возникла проблема, надеюсь на Вашу помощь.
Скрипт работает, тизеры показывает, но при клике ведет на прокладку а не на нужный адресс.
Нашел похожий код, поменял, стал работать, только клики и показы в админке теперь не показывает.
В чем может быть проблема ? Что нужно поправить ? заранее спасибо.

файл goto.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<?php
require_once('config/config.php');
require_once(ENGINE_PATH.'security.php');
require_once(CLASSES_PATH.'dbobject.php');
require_once(CLASSES_PATH.'storage/mysql.php');
require_once(CLASSES_PATH.'template.php');
require_once(CLASSES_PATH.'session.php');
require_once(CLASSES_PATH.'user.php');
$DBM = new MysqlDBM();
$tpl = new Template();
$session = new Session();
$user = new user();
$inf_id = abs(intval($_REQUEST['inf_id']));
$SQL = "SELECT * FROM `sites` WHERE `id` = ".abs(intval($_REQUEST['site_id']))." LIMIT 1";
$site = $DBM->SingleRowQuery($SQL);
$site_id = $site['id'];
if ($inf_id && $site_id) {
    $SQL = "SELECT `url`,`owner` FROM `informers` WHERE `id` = '".$inf_id."' LIMIT 1";
    list($url,$inf_owner) = $DBM->SingleRowQuery($SQL);
    if ($url) {
        $tizers = unserialize($session->getVariable('_ste_last_tizers'));
        if (getenv('HTTP_REFERER') && @in_array($_REQUEST['inf_id'],$tizers)) {
            $session->setVariable('_ste_last_tizers',FALSE);
            $from = parse_url(getenv('HTTP_REFERER'));
            $SQL = "UPDATE `informers` SET `clicks` = clicks+1 WHERE `id` = ".$inf_id." LIMIT 1";
            $DBM->ExecuteQUery($SQL);
            $SQL = "UPDATE `sites` SET `clicks` = clicks+1 WHERE `id` = ".$site_id." LIMIT 1";
            $DBM->ExecuteQUery($SQL);
 
            $SQL = "UPDATE `site_stats` SET `clicks` = clicks+1 WHERE `date` = '".date('Y-m-d H:01:01')."' AND `site` = ".$site_id." LIMIT 1";
            $DBM->ExecuteQuery($SQL);
            if (!$DBM->affected() > 0) {
                $SQL = "INSERT INTO `site_stats` SET `date` = '".date('Y-m-d H:01:01')."',`site` = ".$site_id.",`clicks` = 1";
                $DBM->ExecuteQuery($SQL);
            }
 
            $SQL = "UPDATE `inf_stats` SET `clicks` = clicks+1 WHERE `date` = '".date('Y-m-d H:01:01')."' AND `inf` = ".$inf_id." LIMIT 1";
            $DBM->ExecuteQuery($SQL);
            if (!$DBM->affected() > 0) {
                $SQL = "INSERT INTO `inf_stats` SET `date` = '".date('Y-m-d H:01:01')."',`inf` = ".$inf_id.",`clicks` = 1";
                $DBM->ExecuteQuery($SQL);
            }
            /* Хозяин информера */
            $SQL = "SELECT `balance` FROM `users` WHERE `id` = ".$inf_owner." LIMIT 1";
            list($inf_balance) = $DBM->SingleRowQuery($SQL);
            $new_inf_balance = $inf_balance-1;
            if ($new_inf_balance < 1) {
                $SQL = "UPDATE `informers` SET `show` = 0,`show_blocked` = 1 WHERE `owner` = ".$inf_owner;
                $DBM->ExecuteQuery($SQL);
            }
            $SQL = "UPDATE `users` SET `balance` = balance-1 WHERE `id` = ".$inf_owner." LIMIT 1";
            $DBM->ExecuteQuery($SQL);
 
            /* Хозяин сайта */
            $SQL = "SELECT `balance`,`system_perc` FROM `users` WHERE `id` = ".$site['owner']." LIMIT 1";
            list($site_balance,$site_perc) = $DBM->SingleRowQuery($SQL);
            if (!$site_perc) {
                $site_perc = $sys['system_perc'];
            }
            if ($site_balance < 1) {
                $SQL = "UPDATE `informers` SET `show` = 1,`show_blocked` = 0 WHERE `owner` = ".$site['owner'];
                $DBM->ExecuteQuery($SQL);
            }
            $SQL = "UPDATE `users` SET `balance` = balance+".(float)(1-((1/100)*$site_perc))." WHERE `id` = ".$site['owner']." LIMIT 1";
            $DBM->ExecuteQuery($SQL);
            $SQL = "UPDATE `system` SET `val` = val+".(float)((1/100)*$site_perc)." WHERE `key` = 'balance' LIMIT 1";
            $DBM->ExecuteQuery($SQL);
        }
    }
}
$SQL = "SELECT *,SUM((`clicks`/`shows`)*100) as ctr FROM `informers` WHERE `id` = ".$inf_id." GROUP BY `id` LIMIT 1";
$data = $DBM->SingleRowQuery($SQL);
foreach($data as $key => $val) {
    $tpl->set('row_'.$key,$val);
}
$SQL = "SELECT * FROM `categories` WHERE `id` = ".$data['tar_cat']." LIMIT 1";
$cat = $DBM->SingleRowQuery($SQL);
foreach($cat as $key => $val) {
    $tpl->set('cat_'.$key,$val);
}
$str .= $tpl->out('go/row');
 
$SQL = "SELECT *,SUM((`clicks`/`shows`)*100) as ctr FROM `informers` WHERE `show` = 1 AND `status` = 1 AND `id` <> ".$inf_id." GROUP BY `id` ORDER BY `ctr` DESC LIMIT 10";
$rs = $DBM->ExecuteQuery($SQL);
$str = $tpl->out('go/start');
while($data=$DBM->GetNextRow($rs)) {
    foreach($data as $key => $val) {
        $tpl->set('row_'.$key,$val);
    }
    $SQL = "SELECT * FROM `categories` WHERE `id` = ".$data['tar_cat']." LIMIT 1";
    $cat = $DBM->SingleRowQuery($SQL);
    foreach($cat as $key => $val) {
        $tpl->set('cat_'.$key,$val);
    }
    $str .= $tpl->out('go/row');
}
$str .= $tpl->out('go/end');
$tpl->set('content',$str);
 
$tpl->set('left_menu',$tpl->out('left.login'));
if ($session->getVariable('_user_in')) {
    if ($user->get($session->getVariable('_user_in'))) {
        $user->load_tpl_vars();
        $tpl->set('user_user_balance',floor($user->getVariable('user_balance')));
        $tpl->set('user_inf_balance',floor($user->getVariable('inf_balance')));
        $tpl->set('left_menu',$tpl->out('account/left.menu'));
    }
}
 
$SQL = "SELECT * FROM `news` ORDER BY `time` DESC LIMIT 3";
$rs = $DBM->ExecuteQuery($SQL);
if ($DBM->NumberOfRows($rs)) {
    $news = '';
    while($data=$DBM->GetNextRow($rs)) {
        $news .= '<b>'.date('Y.m.d',$data['time']).'</b><br/>';
        $news .= '<a href="/news/'.$data['id'].'.html">'.$data['short'].'</a><br/><br/>';
    }
    $tpl->set('news',$news);
}
 
$tpl->set('notice',$session->get_notice());
$SQL = "SELECT COUNT(`id`) FROM `sites` LIMIT 1";
list($tpl->vars['total_sites']) = $DBM->SingleRowQuery($SQL);
$SQL = "SELECT COUNT(`id`) FROM `users` LIMIT 1";
list($tpl->vars['total_users']) = $DBM->SingleRowQuery($SQL);
$SQL = "SELECT COUNT(`id`) FROM `informers`";
list($tpl->vars['total_tizers']) = $DBM->SingleRowQuery($SQL);
$tpl->set('version',VERSION);
echo $tpl->out('main');
?>

Код который я поставил в goto.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?php
require_once('config/config.php');
require_once(ENGINE_PATH.'security.php');
require_once(CLASSES_PATH.'storage/mysql.php');
require_once(CLASSES_PATH.'template.php');
require_once(CLASSES_PATH.'session.php');
$DBM = new MysqlDBM();
$tpl = new Template();
$session = new Session();
error_reporting(E_ALL & ~ E_NOTICE);
ini_set('display_errors','on');
$SQL = "SELECT `url` FROM `informers` WHERE `id` = '".$_REQUEST['inf_id']."' LIMIT 1";
list($url) = $DBM->SingleRowQuery($SQL);
$referer = $session->getVariable('_ste_referer');
if ($url) { $tizers = unserialize($session->getVariable('_ste_last_tizers'));
    if ($session->getVariable('_ste_referer') && @in_array($_REQUEST['inf_id'],$tizers)) {      $session->setVariable('_ste_last_tizers',FALSE);        $from = parse_url(getenv('HTTP_REFERER'));
        $ipdb_file = 'data/informers/'.$_REQUEST['inf_id'].'/click_ip.db';
        if (!file_exists($ipdb_file)) {         fclose(fopen($ipdb_file,'w'));
        }
        $ips = file($ipdb_file);
        $SQL = "SELECT `tar_category`,`uniq_clicks`,`calc_clicks` FROM `companies` WHERE `id` = '".(int)$_REQUEST['com_id']."' LIMIT 1";
        list($cat,$uc,$cc) = $DBM->SingleRowQuery($SQL);
        if ($cat) {         $SQL = "SELECT `price_click`,`price_click_uniq` FROM `categories` WHERE `id` = '".$cat."' LIMIT 1";
            list($price_click,$price_click_uniq) = $DBM->SingleRowQuery($SQL);
        }
        $SQL = "SELECT `owner` FROM `sites` WHERE `id` = '".(int)$_REQUEST['site_id']."' LIMIT 1";
        list($owner) = $DBM->SingleRowQuery($SQL);
        if (@in_array($IP."\n",$ips)) {         $SQL = "UPDATE `sites` SET `clicks` = clicks+1 WHERE `id` = '".intval($_REQUEST['site_id'])."' LIMIT 1";
            $DBM->ExecuteQuery($SQL);
            $SQL = "UPDATE `informers` SET `clicks` = clicks+1 WHERE `id` = '".$_REQUEST['inf_id']."' LIMIT 1";
            $DBM->ExecuteQuery($SQL);
            $SQL = "UPDATE `companies` SET ";
            if ($uc == 0 && $cc == 1) {             $SQL .= "`funds` = funds-".(float)$price_click.", ";
            }
            $SQL .= "`clicks` = clicks+1 WHERE `id` = '".$_REQUEST['com_id']."' LIMIT 1";
            $DBM->ExecuteQuery($SQL);
 
            if ($uc == 0 && $cc == 1) {             $SQL = "UPDATE `users` SET `balance` = balance+".(float)(($price_click/100)*(100-$sys['perc']))." WHERE `id` = ".(int)$owner." LIMIT 1";
                $DBM->ExecuteQuery($SQL);
            }
            $site_log .= time()."\tclick\t0\t1\t".$IP."\t".$referer."\n";
            $inf_log = time()."\tclick\t0\t1\t".$_REQUEST['com_id']."\t".$IP."\t".$IP."\t".$referer."\n";
            $com_log = time()."\tclick\t0\t1\t".$IP."\t".$referer."\n";
        }else{          /* Уникальный клик */
            $SQL = "UPDATE `sites` SET `clicks` = clicks+1, `clicks_uniq` = clicks_uniq+1 WHERE `id` = '".intval($_REQUEST['site_id'])."' LIMIT 1";
            $DBM->ExecuteQuery($SQL);
            $SQL = "UPDATE `informers` SET `clicks` = clicks+1, `clicks_uniq` = clicks_uniq+1 WHERE `id` = '".$_REQUEST['inf_id']."' LIMIT 1";
            $DBM->ExecuteQuery($SQL);
            $SQL = "UPDATE `companies` SET ";
            if ($cc == 1) {             $SQL .= "`funds` = funds-".(float)$price_click_uniq.", ";
            }
            $SQL .= " `clicks` = clicks+1, `clicks_uniq` = clicks_uniq+1 WHERE `id` = '".$_REQUEST['com_id']."' LIMIT 1";
            $DBM->ExecuteQuery($SQL);
 
            $SQL = "UPDATE `users` SET `balance` = balance+".(float)(($price_click_uniq/100)*(100-$sys['perc']))." WHERE `id` = ".(int)$owner." LIMIT 1";
            $DBM->ExecuteQuery($SQL);
            $f = fopen($ipdb_file,RWC);
            fwrite($f,$IP."\n");
            fclose($f);
            $site_log .= time()."\tclick\t1\t1\t".$IP."\t".$referer."\n";
            $com_log .= time()."\tclick\t1\t1\t".$IP."\t".$referer."\n";
            $inf_log = time()."\tclick\t1\t1\t".$_REQUEST['com_id']."\t".$IP."\t".$IP."\t".$referer."\n";
        }
        $log_file = 'data/sites/'.$_REQUEST['site_id'].'/logs/'.date('Y').'/'.date('n').'/';
        if (!file_exists($log_file)) {
            mkdir($log_file,0777,TRUE);
        }
        $f = fopen($log_file.date('j').'.log',RWC);
        fwrite($f,$site_log);
        fclose($f);
 
        $log_file = 'data/informers/'.$_REQUEST['inf_id'].'/logs/'.date('Y').'/'.date('n').'/';
        if (!file_exists($log_file)) {
            mkdir($log_file,0777,TRUE);
        }
        $f = fopen($log_file.date('j').'.log',RWC);
        fwrite($f,$inf_log);
        fclose($f);
 
        $log_file = 'data/companies/'.$_REQUEST['com_id'].'/logs/'.date('Y').'/'.date('n').'/';
        if (!file_exists($log_file)) {
            mkdir($log_file,0777,TRUE);
        }
        $f = fopen($log_file.date('j').'.log',RWC);
        fwrite($f,$com_log);
        fclose($f);
 
    }
    header("Location:http://".$url);
}
 
?>
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2012, 02:23
Ответы с готовыми решениями:

Нужна помощь в настройке скрипта.
Est odin script, kto moget pomoch nastroit? pishite na shanc@bk.ru

Ребятки, нужна помощь в установке скрипта. Ничего сложного тут нет.
Имеется скрипт сайта, но проблема в том что на нем нет install. Копался, но так и не получилось его...

Помощь в написании скрипта в обмен на рекламу вашего имени на нашем сайте!
Уважаемые Гуру! Мы с другом делаем некоммерческий проект, посвященный фондовому рынку, торговле,...

Нужна критика скрипта
Здравствуйте, недавно начал изучать php. В качестве учебника выбрал Самоучитель PHP 5/6 от Максима...

2
0 / 0 / 0
Регистрация: 29.03.2012
Сообщений: 8
01.04.2012, 13:00  [ТС] 2
Что никто не может помочь ???
Кстати показы защитивает, но клики нет.
0
0 / 0 / 0
Регистрация: 29.03.2012
Сообщений: 8
19.07.2012, 13:59  [ТС] 3
UP! UP! UP!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.07.2012, 13:59

Нужна помощь...
Всем привет! Скоро поедет крыша.. не понимаю почему так получается: делаю три выборки из базы...

Нужна форма для скрипта
Здраствуйте, помогите создать форму к данному php скрипту. Скрипт для отправки писем на мыло,...

Нужна помощь с таблицей!
Приветствую всех пользователей форума! у меня возникла проблема с таблицей!необходимо чтоб...

Нужна помощь в парсинге
Сразу говорю, что регулярные выражения не предлагать! только DOM. обычный Dom от php тоже не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru