嗨,我的网站config.phplog_user_ips.php上有2个文件。

我在将用户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;
}
?>

最佳答案

看起来您在fSaveIPUserLog()函数定义之后立即有一个return语句。这将在函数主体中的任何其他代码运行之前退出该函数。

关于php - 用户IP未被记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11279538/

10-12 00:20
查看更多