Witam,
Mam kłopot, gdyż postanowiłem połączyć 3 panele w jeden i stworzyć rozbudowane statystyki, lecz napotkałem na kilka problemów, a ja jestem początkującym PHP-owcem i bez Waszej pomocy nie dam rady dokończyć panelu, a bardzo mi na nim zależy...
Poniżej daję kod panelu, a w załączniku załączam owy panel w pliku, który podmieniamy w folderze online_users_panel:
<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright © 2002 - 2007 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------*/
/*Pocątek informacji o panelu: Najwięcej użytkowników było...*/
if (!defined("IN_FUSION")) { die("Access Denied"); }
$all = dbcount("(online_user)", DB_ONLINE, "online_user!=''");
if($all > $settings['nu']) $result = dbquery("UPDATE ".DB_SETTINGS." SET nu='".$all."', nub='".time()."'");
$settings2 = dbarray(dbquery("SELECT nu, nub FROM ".DB_SETTINGS.""));
/*Koniec informacji o panelu: Najwięcej użytkowników było...*/
/*Pocątek informacji o panelu: Wsystko co dotyczy użytkowników*/
$result = dbquery("SELECT user_joined, user_name, user_id FROM ".DB_USERS." ORDER BY user_joined DESC ");
$d=0; $w=0; $t=0; $pt=0; $m=0; $pm=0; $r=0; $n=0;
$dzis=showdate("%j", time());
$wczoraj=($dzis-1);
$tydzien=showdate("%W", time());
$pop_tydzien=($tydzien-1);
$miesiac=showdate("%m", time());
$pop_miesiac=($miesiac-1);
$rok=showdate("%y", time());
while ($data = dbarray($result)) {
$n++;
$czas1=showdate("%j", $data['user_joined']);
$czas2=showdate("%W", $data['user_joined']);
$czas4=showdate("%m", $data['user_joined']);
$czas3=showdate("%y", $data['user_joined']);
if ($czas1.$czas3==$dzis.$rok) $d++;
if ($czas1.$czas3==$wczoraj.$rok) $w++;
if ($czas2.$czas3==$tydzien.$rok) $t++;
if ($czas2.$czas3==$pop_tydzien.$rok) $pt++;
if ($czas4.$czas3==$miesiac.$rok) $m++;
if ($czas4.$czas3==$pop_miesiac.$rok) $pm++;
if ($czas3==$rok) $r++;
if($n == 1) {
$nname = $data['user_name'];
$nid = $data['user_id'];
}
}
$result = dbquery("SELECT * FROM ".DB_ONLINE." WHERE online_user=".($userdata['user_level'] != 0 ? "'".$userdata['user_id']."'" : "'0' AND online_ip='".USER_IP."'"));
if (dbrows($result)) {
$result = dbquery("UPDATE ".DB_ONLINE." SET online_lastactive='".time()."' WHERE online_user=".($userdata['user_level'] != 0 ? "'".$userdata['user_id']."'" : "'0' AND online_ip='".USER_IP."'")."");
} else {
$result = dbquery("INSERT INTO ".DB_ONLINE." (online_user, online_ip, online_lastactive) VALUES ('".($userdata['user_level'] != 0 ? $userdata['user_id'] : "0")."', '".USER_IP."', '".time()."')");
}
$result = dbquery("DELETE FROM ".DB_ONLINE." WHERE online_lastactive<".(time()-60)."");
$result = dbquery(
"SELECT ton.*, tu.user_id,user_name FROM ".DB_ONLINE." ton
LEFT JOIN ".DB_USERS." tu ON ton.online_user=tu.user_id"
);
$guests = 0; $members = array();
while ($data = dbarray($result)) {
if ($data['online_user'] == "0") {
$guests++;
} else {
array_push($members, array($data['user_id'], $data['user_name']));
}
}
/*Koniec informacji o panelu: Wsystko co dotyczy użytkowników*/
/*Pocątek informacji o panelu: Statystyki strony*/
$result = dbquery("
SELECT
(SELECT Count(*) FROM ".DB_PHOTOS.") AS Photos,
(SELECT Count(*) FROM ".DB_ARTICLES.") AS Articles,
(SELECT Count(*) FROM ".DB_NEWS.") AS News,
(SELECT Count(*) FROM ".DB_COMMENTS.") AS Comments,
(SELECT Count(*) FROM ".DB_SHOUTBOX.") AS Shouts,
(SELECT Count(*) FROM ".DB_POSTS.") AS Posts
");
$data = dbarray($result);
/*Koniec informacji o panelu: Statystyki strony*/
openside('<b>Statystyki</b>',true, "off");
echo "
<center><b>Statystyki strony</b></center><hr>\n
Zdjęć w galerii: ".$data['Photos']."<br/>
Artykułów: ".$data['Articles']."<br>
Newsów: ".$data['News']."<br>
Komentarzy: ".$data['Comments']."<br>
Postów w shoutboxie: ".$data['Shouts']."<br>
Postów na forum: ".$data['Posts']."<br><hr>
<center><b>Aktualnie Online</b></center><hr>\n
Gości: <b>".$guests."</b><br />
Użytkowników : <b>".count($members)."</b><hr>\n
<center><b>Rekord</b></center><hr>\n
Najwięcej userów: <b>".$settings2['nu']."</b><br>\n
Było: <b>".showdate('%d.%m.%Y %H:%M:%S',$settings2['nub'])."</b>
<hr>\n
<center><b>Statystyki rejestracji</b></center><hr>\n
Dzisiaj: <b>$d</b><br>
Wczoraj: <b>$w</b><br>
W tym tygodniu: <b>$t</b><br>
W poprzednim tygodniu: <b>$pt</b><br>
W tym miesiącu: <b>$m</b><br>
W poprzednim miesiącu: <b>$pm</b><br>
W tym roku: <b>$r</b><br><hr>\n
<center>Zarejestrowanych: <b>$n</b></center><hr>\n
<center>Najnowszy: <a href='".BASEDIR."profile.php?lookup=$nid' class='side'><b>$nname</b></a></b></center>";
closeside();
?>
Napotkane błędy:
- Nad panelem wyświetla się błąd Notice: Undefined index: nu in C:\Program Files\WebServ\httpd-users\Adam\infusions\online_users_panel\online_users_panel.php on line 12
Dotyczy to linii:
if($all > $settings['nu']) $result = dbquery("UPDATE ".DB_SETTINGS." SET nu='".$all."', nub='".time()."'");
//Dodałem załącznik.//Foxi89.
PW od moderatora:
- Zmiana nazwy tematu - Chemikpil 28.08 - 22:46
- Przeniesienie tematu - Chemikpil 28.08 - 22:46
Adam Stalica dodał/a następującą plik:
Edytowane przez Adam Stalica dnia 30.08.2010 20:22:06
Witam
|