• 30-04-2009, 21:58:44
    #1
    arkadaslar 1 script kurdum 5 uye var . db 2 kb-den 1 hafta icinde 349 kb olmus. tablolari nasil kilitleye bilirim?? mesela kullanici "ip" veritabana kayd edilmesin.
     
    CREATE TABLE `stat` (
      `id` int(11) NOT NULL auto_increment,
      `userid` int(11) NOT NULL,
      `dat` varchar(11) NOT NULL,
      `time` varchar(11) NOT NULL,
      `url` varchar(100) NOT NULL,
      `agent` varchar(150) NOT NULL,
      `ip` varchar(16) NOT NULL,
  • 01-05-2009, 11:36:26
    #2
    kodlardan yapman lazım bence
    veritabanına log girdiği yeri bulman lazım
  • 01-05-2009, 13:29:58
    #3
    Üyeliği durduruldu
    erkutarhan adlı üyeden alıntı: mesajı görüntüle
    kodlardan yapman lazım bence
    veritabanına log girdiği yeri bulman lazım
    +1
    tabloda unique ilede yapabilirsin ama kod ile yapmak bence tercih sebebi
  • 01-05-2009, 18:22:34
    #4
    yardim lutfen ben 1 turlu beceremedim su isi.

    Alıntı
    <?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_AG ENT")));
    $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];

    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("javascript: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,t oolbar=1,location=1,menubar=1,status=1,scrollbars= 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();
    ?>
  • 01-05-2009, 18:24:41
    #5
    @mysql_query("INSERT INTO `stat` VALUES(null, '".$id."', '".$dat."', '".$time."', '".$site."', '".$ua."', '".$ip."')"); satırını sil yeter
  • 01-05-2009, 18:36:08
    #6
    erkutarhan adlı üyeden alıntı: mesajı görüntüle
    @mysql_query("INSERT INTO `stat` VALUES(null, '".$id."', '".$dat."', '".$time."', '".$site."', '".$ua."', '".$ip."')"); satırını sil yeter
    dostum surda 1 sorun var kodlari sildikden sonra bir de yarin degisikliyi gore bilirim cookie ile calisiyor gunde 1 defa gosterilir , acaba nasil simdilik gozukmesi icin duzelte bilirim???