Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не происходит обновление поля в БД 
:(
    Опции темы
Casy
Дата 5.2.2009, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 28.1.2009

Репутация: нет
Всего: нет



Есть скрипт:
Код

function getip()
{
  if(isset($HTTP_SERVER_VARS)) {
    if(isset($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])) {
    $realip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
    }elseif(isset($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])) {
      $realip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
    }else{
      $realip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
    }
  }else{
  if(getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
    $realip = getenv( 'HTTP_X_FORWARDED_FOR' );
  }elseif ( getenv( 'HTTP_CLIENT_IP' ) ) {
    $realip = getenv( 'HTTP_CLIENT_IP' );
  }else {
    $realip = getenv( 'REMOTE_ADDR' );
  }
}
 if((getenv('REMOTE_PORT'))) {
 $realip.=":".getenv('REMOTE_PORT');
 }
return $realip;
}

$brow = getenv("HTTP_USER_AGENT");
$ref = getenv('HTTP_REFERER');
$my_urls = getenv('QUERY_STRING');
$ip=getip();


$result = db_query("SELECT * FROM mg_counter");
$num_rows = mysql_num_rows($result);

function searchID($id)
{
$result = db_query("SELECT * FROM mg_counter WHERE user_id LIKE '".$id."'") or die ("Query failed");
$num_rows = mysql_num_rows($result);
mysql_free_result($result);
if ($num_rows>0) return True;
else return False;
}

function Update($id,$pages) 
{
$c=count(explode("\r\n",$pages));
if ($c<150){
$result = db_query("UPDATE mg_counter SET `pages` = '".$pages."' WHERE `user_id` = '".$id."'") or die ("Query failed");
return $result;
}
}

function IncCounter()
{
$brow = getenv("HTTP_USER_AGENT"); 
$ref = getenv('HTTP_REFERER');
$my_urls = getenv('QUERY_STRING');
$ip=getip();
if (eregi("module=users",$my_urls)==false)
{
if (searchID($_SESSION['user'])==false)
{
$result = db_query("INSERT INTO `mg_counter` ( `user_id` , `url` , `my_url` , `pages` , `date` , `IP_PORT` , `brouser` ) VALUES ('".$_SESSION['user']."' , '".$ref."' , '".$my_urls."', '".trim($my_urls)."' , NOW( ) , '".$ip."' , '".$brow."');");
}
else 
{
$result = db_query("SELECT * FROM mg_counter WHERE `user_id` LIKE '".$_SESSION['user']."'") or die ("Query failed");
list ($user_id, $url, $my_url, $pages , $date, $IP_PORT, $brouser) = mysql_fetch_row ($result);
Update($user_id,trim($pages."\r\n".$my_urls));
}
@mysql_free_result($result);
}
}
IncCounter();


Есть проблемы с данном скрипте!
1) Не могу разобраться - скрипт должен проверят значение user_id например 12345, и если такое значение есть то просто обновлять данные, а если нет значения 12345, то добовлять новое. А получается, так что он не проверяет и просто добовляет новое значение!
Пример:
Код

775085449 | 2009-02-05 17:59:09 | 127.0.0.1:3203 | Opera/9.61 (Windows NT 5.1; U; ru)  
775085449 | pose | pose | 2009-02-05 17:59:31 | 127.0.0.1:3225 | Opera/9.61 (Windows NT 5.1; U; ru) 
775085449 | prog_list | price_list 2009-02-05 | 19:05:29 | 127.0.0.1:3525 Opera/9.61 (Windows NT 5.1; U; ru) 

А должно быть что-то типа этого
Код

775085449 | pose prog_list | pose price_list | 2009-02-05 17:59:09 2009-02-05 17:59:31 | 127.0.0.1:3203 127.0.0.1:3225 | Opera/9.61 (Windows NT 5.1; U; ru)

В чем проблема не пойму?

2) Проблема в том, что почти каждый раз записывается разные порты 
Пример:
Код

127.0.0.1:3203
127.0.0.1:3525
127.0.0.1:3643
и т.д


Прошу помощи!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0580 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.