Ich benutze auf unserer Seite das ps_stats_panel von Ralf Thieme .... *winke Ralf* wie auch immer...
Dachte ich könnte das einfach mal etwas an meine bedürfnisse anpassen und dieses Panel in den Footer der Seite mit einbauen... gesagt, getan!
Vorher keine Probleme.. nach dem Einbau bekommen ich folgende Fehler angezeigt:
Notice: Undefined variable: userdata in /var/www/virtual/puresoundradio.de/htdocs/infusions/pd_stats_panel/stats.inc.php on line 40
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND online_ip='77.21.240.165'' at line 1
Notice: Undefined index: user3 in /var/www/virtual/puresoundradio.de/htdocs/infusions/pd_stats_panel/stats.inc.php on line 161
Notice: Undefined index: user2 in /var/www/virtual/puresoundradio.de/htdocs/infusions/pd_stats_panel/stats.inc.php on line 160
Notice: Undefined index: user3 in /var/www/virtual/puresoundradio.de/htdocs/infusions/pd_stats_panel/stats.inc.php on line 161
Die Fehler in der Line 161 und line 160 vermehren sich, jemehr User eingelogged sind.
Als Gast (ohne login) tauche die Fehler nicht auf....
Kann mir jemand helfen????
Danke im Voraus....
aso... die besagte stats_inf.php habe ich nicht angerührt....
siehe auch Screenshot..
Gruss
Kevin
EDIT
Der Fehler in Line 160 wird auch als Gast dargestellt, sobald ein Mitglied online angezeigt wird.
wondergekko hat folgendes Bild hinzugefügt:
[91.92Kb]
Editiert von wondergekko am 09. Juni 2010 12:15:05
Was hast du denn geändert bzw. wie hast du das ganze eingebaut?
Gruß Marcus
Support per Mail, PN, ICQ oder MSN ist kostenpflichtig!
if ($ahnung == 'keine' ) { use ( FAQ ) && ( Google | | Suche ) }
if ($antwort == 0 ) { post ( Frage ) }
Openside und closeside tags per /* entfernt (überspringen)
Danach lediglich in der Darstellung die Tabelle geändert: <tr> + </tr> tags raus sowie die Zellen unterteilung aufgehoben zwischen den Stat-werten und den Bezeichnungen der WErte.
Zum Schluss in die theme.php und per include die pd_stats_panel.php eingefügt
hatte das schonmal bei einem Theme gemacht und hatte da keine Probleme (feststellen können).
Nach der Themeumstellung auf unserer Seite wollte ich das nun wieder machen und ..... fehlanzeige.....
Alle andere Files sind nicht berührt worden bis zu diesem Zeitpunkt. HAtte dann mit meinem Leihenhaften Grundwissen einfach die betreffenden Zeilen in der stats_inc.php wieder mit "/*.....*/" übersprungen, was mit aber nochmeh Fehler anzeigte und somit wieder zurückgesetzt wurden.... lach
evtl. Kannst Du mir helfen
Soll ich den jetzigen Script mal einsetzen zum lesen????
if (!defined("IN_FUSION")) { die("Access Denied"); }
include INFUSIONS."pd_stats_panel/infusion_db.php";
if (file_exists(INFUSIONS."pd_stats_panel/locale/".LOCALESET."index.php")) {
include INFUSIONS."pd_stats_panel/locale/".LOCALESET."index.php";
} else {
include INFUSIONS."pd_stats_panel/locale/German/index.php";
}
require INFUSIONS."pd_stats_panel/stats.inc.php";
//FUSION Standard Funktion -- geändert!!! $name = (iMEMBER ? $userdata['user_id'] : "0");
$result = dbquery("SELECT * FROM ".DB_ONLINE." WHERE online_user=".$name." AND online_ip='".USER_IP."'");
if (dbrows($result)) {
$result = dbquery("UPDATE ".DB_ONLINE." SET online_lastactive='".$zeit."' WHERE online_user=".$name." AND online_ip='".USER_IP."'");
} else {
$result = dbquery("INSERT INTO ".DB_ONLINE." SET online_user='".$name."', online_ip='".USER_IP."', online_lastactive='".$zeit."'");
}
$result = dbquery("DELETE FROM ".DB_ONLINE." WHERE online_lastactive<".($zeit-60));
//User Auswertung START
if (!isset($_COOKIE[COOKIE_PREFIX.'pd_stats_visited'])) {
include INFUSIONS."pd_stats_panel/robots.php";
if(forum_func_bots(USER_IP,$hua) != "") {
//ist ein Bot
} else {
//Counter erhöhen
$result=dbquery("INSERT INTO ".PD_STATS_TEMP." (timestamp) VALUES ('".$zeit."')");
$result=dbquery("UPDATE ".PD_STATS_COUNTER." SET standing=standing+1");
//Cookie setzen
setcookie(COOKIE_PREFIX.'pd_stats_visited', 'yes', $zeit_cookie, '/', '', '0');
//Browser bestimmen
if( eregi("(opera) ([0-9]{1,2}.[0-9]{1,3}){0,1}",$hua,$regs) || eregi("(opera/)([0-9]{1,2}.[0-9]{1,3}){0,1}",$hua,$regs)) {
$browser = "Opera $regs[2]";
} else if( eregi("(msie) ([0-9]{1,2}.[0-9]{1,3})",$hua,$regs) ) {
$browser = "MSIE $regs[2]";
} else if( eregi("(konqueror)/([0-9]{1,2}.[0-9]{1,3})",$hua,$regs) ) {
$browser = "Konqueror $regs[2]";
} else if( eregi("(lynx)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})",$hua,$regs) ) {
$browser = "Lynx $regs[2]";
} else if( eregi("(firefox)/([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})",$hua,$regs) ) {
$browser = "Firefox $regs[2]";
} else if( eregi("(netscape6)/(6.[0-9]{1,3})",$hua,$regs) ) {
$browser = "Netscape $regs[2]";
} else if( eregi("mozilla/5",$hua) ) {
$browser = "Mozilla 5";
} else if( eregi("(mozilla)/([0-9]{1,2}.[0-9]{1,3})",$hua,$regs) ) {
$browser = "Netscape $regs[2]";
} else if( eregi("w3m",$hua) ) {
$browser = "w3m";
} else if( eregi("WebTV",$hua) ) {
$browser = "WebTV";
} else if( eregi("Googlebot",$hua) ) {
$browser = "Google Bot";
} else {
$browser = "unknown";
}
//OS bestimmen
if ( ereg("Win", $hua) ) {
$os = "Windows";
} elseif( (ereg("Mac", $hua) ) || ( ereg("PPC", $hua)) ) {
$os = "Mac";
} elseif(ereg("Linux", $hua) ) {
$os = "Linux";
} elseif(ereg("FreeBSD", $hua) ) {
$os = "FreeBSD";
} elseif(ereg("SunOS", $hua) ) {
$os = "SunOS";
} elseif(ereg("IRIX", $hua) ) {
$os = "IRIX";
} elseif(ereg("BeOS", $hua) ) {
$os = "BeOS";
} elseif(ereg("OS/2", $hua) ) {
$os = "OS/2";
} elseif(ereg("AIX", $hua) ) {
$os = "AIX";
} else {
$os = "Other";
}
//Referer bestimmen
if ($referer != "") {
$url_p = parse_url($referer);
$url = ($url_p != "" ? $url_p['host'] : "");
} else {
$url = "";
}
$referer = 'http://'.$url;
//Falls Referer nach Bearbeitung leer, nutze $host
if ($referer == 'http://') {
$referer = "http://".$host;
}
//DB Querys
//Browser
if (!dbrows(dbquery("SELECT * FROM ".PD_STATS_BROWSER." WHERE browser='".$browser."'"))) {
$insert_browser = dbquery("INSERT INTO ".PD_STATS_BROWSER." VALUES('".$browser."', '1')");
} else {
$update_browser = dbquery("UPDATE ".PD_STATS_BROWSER." SET stat=stat+1 WHERE browser='".$browser."'");
}
//Betriebssystem
if (!dbrows(dbquery("SELECT * FROM ".PD_STATS_OS." WHERE os='".$os."'"))) {
$insert_os = dbquery("INSERT INTO ".PD_STATS_OS." VALUES('".$os."', '1')");
} else {
$update_os = dbquery("UPDATE ".PD_STATS_OS." SET stat=stat+1 WHERE os='".$os."'");
}
//Referer
if (!dbrows(dbquery("SELECT * FROM ".PD_STATS_REFERER." WHERE referer='".$referer."'"))) {
$insert_referer = dbquery("INSERT INTO ".PD_STATS_REFERER." VALUES('".$referer."', '1');");
} else {
$update_referer = dbquery("UPDATE ".PD_STATS_REFERER." SET stat=stat+1 WHERE referer='".$referer."'");
}
}
}
//DB auslesen
//Neustes Mitglied
$data = dbarray(dbquery("SELECT user_id,user_name FROM ".DB_USERS." WHERE user_status='0' ORDER BY user_joined DESC LIMIT 0,1"));
define("PD_STATS_NEW", "<a href='".BASEDIR."profile.php?lookup=".$data['user_id']."' class='side'>".$data['user_name']."</a>");
//Unaktivierter Mitglieder
define("PD_STATS_UNAKTIV", dbcount("(user_id)", DB_USERS, "user_status='2'"));
//Gäste ONLINE
$result_gaeste = dbquery("SELECT * FROM ".DB_ONLINE." WHERE online_user='0'");
define("PD_STATS_GAESTE", dbrows($result_gaeste));
//Mitglieder ONLINE
$result_members = dbquery("SELECT do.*,du.* FROM ".DB_ONLINE." do
INNER JOIN ".DB_USERS." du ON du.user_id=do.online_user
WHERE online_user!='0' ORDER BY user_name");
if (dbrows($result_members)) {
$z = 1;
$memon="";
while($om = dbarray($result_members)) {
if($om['user_level'] != 101 OR $om['user_groups']!='') {
$special = '';
if($om['user_level']==102) { $special = "<b>".$locale['pds213']."</b>".$locale['user2']; }
if($om['user_level']==103) { $special = "<b>".$locale['pds213']."</b>".$locale['user3']; }
if ($om['user_groups']) {
if($special) { $special = $special."<br>"; }
$user_groups = (strpos($om['user_groups'], ".") == 0 ? explode(".", substr($om['user_groups'], 1)) : explode(".", $om['user_groups']));
if(count($user_groups) > 1) { $special = $special."<b>".$locale['pds215']."</b><br />"; } else { $special = $special."<b>".$locale['pds214']."</b>"; }
for ($i = 0;$i < count($user_groups);$i++) {
$special = $special.getgroupname($user_groups[$i]);
if ($i != (count($user_groups)-1)) $special = $special.", ";
}
}
$memon = $memon."<a onMouseOver=\"return overlib('".$special."', CAPTION, '".$om['user_name']."',FGCOLOR,'#ffffff',TEXTCOLOR,'#000000');\" onMouseOut=\"return nd();\" href='".BASEDIR."profile.php?lookup=".$om['user_id']."' class='side'>".$dset['special1'].$om['user_name'].$dset['special2']."</a>";
} else {
$memon = $memon." <a href='".BASEDIR."profile.php?lookup=".$om['user_id']."' class='side'>".$om['user_name']."</a>";
}
}
if ($z != dbrows($result_members)) { $memon = $memon.", "; }
$z++;
} else {
$memon = $locale['pds216']."<br>\n";
}
define("PD_STATS_MEMBERS", $memon);
//Registrierte Mitglieder
define("PD_STATS_REGISTER", dbcount("(user_id)", DB_USERS, "user_status<='1'"));
//Besucher HEUTE
$result_heute=dbquery("SELECT * FROM ".PD_STATS_TEMP." WHERE timestamp>='".mktime(0, 0, 0, $heute_monat, $heute_tag, $heute_jahr)."'");
define("PD_STATS_HEUTE", dbrows($result_heute));
//Besucher ONLINE
$result_online = dbquery("SELECT * FROM ".DB_ONLINE." WHERE online_lastactive>".(time()-60));
define("PD_STATS_ONLINE", dbrows($result_online));
//Besucher MAXONLINE
$data = dbarray(dbquery("SELECT * FROM ".PD_STATS_COUNTER));
if($data['maxonline'] < PD_STATS_ONLINE) {
$result = dbquery("UPDATE ".PD_STATS_COUNTER." SET maxonline='".PD_STATS_ONLINE."'");
define("PD_STATS_MAXONLINE", PD_STATS_ONLINE);
} else {
define("PD_STATS_MAXONLINE", $data['maxonline']);
}
//Besucher GESTERN
$result_gestern=dbquery("SELECT * FROM ".PD_STATS_TEMP." WHERE timestamp>='".mktime(0, 0, 0, $heute_monat, ($heute_tag-1), $heute_jahr)."' AND timestamp<='".mktime(23, 59, 59, $heute_monat, ($heute_tag-1), $heute_jahr)."'");
define("PD_STATS_GESTERN", dbrows($result_gestern));
//Besucher MAXDAY
$data = dbarray(dbquery("SELECT * FROM ".PD_STATS_COUNTER));
if($data['maxday'] == 0 OR $data['maxday'] < PD_STATS_HEUTE) {
$result = dbquery("UPDATE ".PD_STATS_COUNTER." SET maxday='".PD_STATS_HEUTE."'");
define("PD_STATS_MAXDAY", PD_STATS_HEUTE);
}else {
if($data['maxday'] < PD_STATS_GESTERN) {
$result = dbquery("UPDATE ".PD_STATS_COUNTER." SET maxday='".PD_STATS_GESTERN."'");
define("PD_STATS_MAXDAY", PD_STATS_GESTERN);
} else {
define("PD_STATS_MAXDAY", $data['maxday']);
}
}
//Besucher MONAT
$result_monat=dbquery("SELECT * FROM ".PD_STATS_TEMP." WHERE timestamp>='".mktime(0, 0, 0, $heute_monat, 1, $heute_jahr)."'");
define("PD_STATS_MONAT", dbrows($result_monat));
$sql = dbquery("SELECT * FROM ".PD_STATS_MONTH." WHERE year='".$heute_jahr."' AND month='".$heute_monat."'");
if(!dbrows($sql)) {
$insert = dbquery("INSERT INTO ".PD_STATS_MONTH." (month, year, stat) VALUES ('".$heute_monat."', '".$heute_jahr."', '".PD_STATS_HEUTE."')");
} else {
$update = dbquery("UPDATE ".PD_STATS_MONTH." SET stat='".PD_STATS_MONAT."' WHERE month='".$heute_monat."' AND year='".$heute_jahr."'");
}
//Besucher GESAMT
$data = dbarray(dbquery("SELECT * FROM ".PD_STATS_COUNTER));
define("PD_STATS_GESAMT", $data['standing']);
//Besucher letzten 24h
if (file_exists(THEME."images/poll.gif")) {
$pfad = THEME."images/poll.gif";
} else {
$pfad = INFUSIONS."pd_stats_panel/poll.gif";
}
$result_last24h_gesamt=dbquery("SELECT * FROM ".PD_STATS_TEMP." WHERE timestamp>'".($zeit-86400)."' AND timestamp<='".$zeit."'");
$gesamt = dbrows($result_last24h_gesamt);
if($gesamt) {
$last24h = '<table cellspacing="0" cellpadding="0"><tr>';
for($a=23; $a>=0; $a--) {
$last24h = $last24h."<td align='center' valign='bottom'>";
$result_last24h=dbquery("SELECT * FROM ".PD_STATS_TEMP." WHERE `timestamp`>'".($zeit-(($a+1)*3600))."' AND `timestamp`<='".($zeit-($a*3600))."'");
$hoehe = ((100/$gesamt)*dbrows($result_last24h))+1;
$last24h = $last24h."<img src='".$pfad."' height='".$hoehe."px' width='6px'><br></td>";
}
$last24h = $last24h."</tr></table>";
define("PD_STATS_LAST_24H", $last24h);
} else {
define("PD_STATS_LAST_24H", $locale['pds217']);
}
// Alte Temp DB Einträge löschen
$result = dbquery("DELETE FROM ".PD_STATS_TEMP." WHERE timestamp<'".mktime(0, 0, 0, $heute_monat, 1, $heute_jahr)."'");
?>
schätze, wenn der Fehler in Zeile 40 weg ist, wird auch der rest sich erübrigen!!
Editiert von wondergekko am 09. Juni 2010 14:13:35
Der Fehler wird nicht am Script selber sonder durch den Einbau in die "theme.php". Wenn man die Fehlermeldungen richtig ließt, dann wird schnell klar, das die $userdata und $loacle nicht global sind.
Ich vermute mal, das du den include in der Funktion "render_page" gemacht hast? Wenn ja, schau mal bitte ob am Anfang der Funktion beim globla $userdata und $locale steht.
Gruß Ralf
__________________________________
KEIN Support per Mail, ICQ oder PN !