2012-07-01 2 views
0

Привет У меня есть 2 файла на моем сайте config.php и log_user_ips.php.Пользователь ip не регистрируется

У меня возникли проблемы с вводом пользовательских IP-данных в мою базу данных.

Моя БД содержит IPS Таблица.

config.php:

<?php require_once("path/to/base/ip_user_logs.php"); fSaveIPUserLog(); ?> 

ip_user_logs.php:

<?php 
function fSaveIPUserLog() { 
    return; 

    $check = mysql_query("SELECT id FROM ips WHERE ip = '".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."' LIMIT 1") or die(mysql_error()); 
    if (mysql_num_rows($check) > 0): 
     $check_fetched = mysql_fetch_array($check); 
     $id = (int)$check_fetched['id']; 
    else: 
     mysql_query("INSERT INTO ips SET ip = '".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."'") or die(mysql_error()); 
     $id = (int)mysql_insert_id(); 
    endif; 
    mysql_free_result($check); 

    mysql_query("UPDATE ips SET 
     times = times + 1, 
     host = '".mysql_real_escape_string(gethostbyaddr($_SERVER['REMOTE_ADDR']))."', 
     agent = '".mysql_real_escape_string($_SERVER['HTTP_USER_AGENT'])."', 
     script = CONCAT(script, '".mysql_real_escape_string("\n".date('Y-m-d H:i:s').' '.$_SERVER['SCRIPT_NAME'].((count($_GET))? '?'.http_build_query($_GET): ''))."'), 
     username = IF('".mysql_escape_string($_SESSION[SESSION_PREFIX.'user']['username'])."' != '', '".mysql_escape_string($_SESSION[SESSION_PREFIX.'user']['username'])."', username), 
     date = NOW() 
     WHERE id = '$id' LIMIT 1") or die(mysql_error()); 

    return; 
} 
?> 

ответ

1

Вы говорите, что ваш файл log_user_ips.php, но включают в себя ip_user_logs.php ... Это проблема?

Также у вас есть заявление return непосредственно после определения fSaveIPUserLog(), так что функция ничего не сделает.

+0

Спасибо, я понял, что я испортил имена файлов в этом сообщении, моя фактическая структура правильная ip_user_logs.php. – user1493836

1

Похоже, у вас есть оператор возврата сразу после определения вашей функции fSaveIPUserLog(). Это приведет к выходу из функции до того, как будет запущен любой из вашего другого кода в теле функции.

1

У вас есть заявление return;, в котором не используется ваш function fSaveIPUserLog(), который вы также используете. Также его теперь рекомендуется использовать mysqli не mysql.