0

ユーザーが MySql テーブルと PHP を介してログインしたときにログを作成しようとしていますが、テーブルに何も表示されません。私のコードの他のすべては正常に動作します。具体的には、アクセサーの日付、時刻、IP、アクセサーのマシン名、およびユーザー名を保存しようとしています

私は使用しています

$username = $member['username'];
            $ip = $_SERVER[REMOTE_ADDR];
            $date = date('Y-m-d H:i:s');
            $host = gethostbyaddr($ip);
            $query = "INSERT INTO IP_LOG (DateTime, MachineName, IPAddress, Username) VALUES ($date,$host,$ip,$username)";
            $result=mysql_query($qry);

情報を取得するには、クエリを作成して情報をログに記録します。

ログインが成功したかどうかをチェックするとき、プロセス全体のコードは実際にここに依存しています

//Check whether the query was successful or not
    if($result) {
        if(mysql_num_rows($result) > 0) {
            //Login Successful
            session_regenerate_id();
            $member = mysql_fetch_assoc($result);
            $_SESSION['SESS_MEMBER_ID'] = $member['mem_id'];
            $_SESSION['SESS_FIRST_NAME'] = $member['username'];
            $_SESSION['SESS_LAST_NAME'] = $member['password'];

            $username = $member['username'];
            $ip = $_SERVER[REMOTE_ADDR];
            $date = date('Y-m-d H:i:s');
            $host = gethostbyaddr($ip);
            $query = "INSERT INTO IP_LOG (DateTime, MachineName, IPAddress, Username) VALUES ($date,$host,$ip,$username)";
            $result=mysql_query($qry);

            session_write_close();
            header("location: home.php");
            //TODO: Log all Information

            exit();
        }else {
            //Login failed
            $errmsg_arr[] = 'user name and password not found';
            $errflag = true;
            if($errflag) {
                $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
                session_write_close();
                header("location: index.php");
                exit();
            }
        }
    }

資格情報を正常に検証できることはわかっていますが、ログを機能させることができないようです。

4

2 に答える 2