Changeset 5262

Show
Ignore:
Timestamp:
02/20/06 11:11:01 (2 years ago)
Author:
GamerZ
Message:

Really Fixed DUPLICATE KEY ERROR

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • wp-useronline/trunk/useronline.php

    r5228 r5262  
    7272      $ip = get_IP(); 
    7373      $url = addslashes(urlencode($_SERVER['REQUEST_URI'])); 
     74      $useragent= addslashes($_SERVER['HTTP_USER_AGENT']); 
    7475 
    7576      // Check For Members 
     
    104105      $make_page = addslashes($make_page); 
    105106       
    106       // Check User First 
    107       $check_user = intval($wpdb->get_var("SELECT COUNT(*) FROM $wpdb->useronline $where"));     
    108  
    109       // If User Exists, Update User 
    110       if($check_user > 0) { 
    111             $update_user = $wpdb->query("UPDATE $wpdb->useronline SET timestamp = '$timestamp', ip = '$ip', location = '$make_page', url = '$url' $where");        
    112       // Else Insert User 
    113       } else { 
    114             $insert_user = $wpdb->query("INSERT INTO $wpdb->useronline VALUES ('$timestamp', '$memberonline', '$ip', '$make_page', '$url')"); 
     107      // Update User First 
     108      $update_user = $wpdb->query("UPDATE $wpdb->useronline SET timestamp = '$timestamp', useragent = '$useragent', ip = '$ip', location = '$make_page', url = '$url' $where"); 
     109 
     110      // If Update User Failed, Means There Is No User, Thus We Insert User 
     111      if(!$update_user) { 
     112            $insert_user = $wpdb->query("INSERT INTO $wpdb->useronline VALUES ('$timestamp', '$memberonline', '$useragent', '$ip', '$make_page', '$url')"); 
    115113      } 
    116114 
     
    392390                                      " timestamp int(15) NOT NULL default '0',". 
    393391                                      " username varchar(50) NOT NULL default '',". 
    394                                       " ip varchar(40) NOT NULL default '',". 
     392                                      " useragent char(100) NOT NULL,". 
     393                                      " ip varchar(40) NOT NULL default '',".                                 
    395394                                      " location varchar(255) NOT NULL default '',". 
    396395                                      " url varchar(255) NOT NULL default '',". 
    397                                       " PRIMARY KEY (timestamp))"; 
     396                                      " UNIQUE KEY useronline_id (timestamp,username,ip,useragent))"; 
    398397      maybe_create_table($wpdb->useronline, $create_table); 
    399398      // Add In Options