![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 1 Dołączył: 1.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Chcę zrobić wykres statystyk. Odwiedziłem kilka stron z wykresami takich jak amCharts . Niestety nie podoba mi się to bo każą umieszczać link zwrotny do nich, a po za tym licencja jest płatna przy wykorzystaniu komercyjnym. Stąd też moje pytanie czy znacie jakieś darmowe skrypty do tworzenia wykresów, które podłącze pod bazę ? Głównie w javascript lub flash czegoś szukam. Chcę aby wykres ładnie się prezentował i wyglądał podobnie jak te w Piwiku. Wykres ma służyć do przedstawiania wyników monitoringu pozycji Google. Może być jakiś przykładowy kod tak żebym zobaczył jak to się wykonuje , bo jeszcze nie pisałem nic podobnego. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Skoro już monitorujesz pozycję w google to użyj do wykresów googli!
![]() Przyjemne a zarazem zaawansowane API mają: http://code.google.com/apis/chart/ -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]() ![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 1 Dołączył: 1.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cytat No tak ale to jest płatne : A co do Gogola to nie podobają mi się te wykresy ani troszkę. A ja szukam darmowej biblioteki. Znalazłem coś takiego jak phplot - ale troszkę ma słabe możliwości. Jednak pobawię się tym. Jak znacie jeszcze coś darmowego do tworzenia wykresów to proszę o info. //////////////////////// Ciąg dalszy zmagań No mam w końcu to czego szukałem : ![]() open_flash_chart Odpaliłem to ale pojawiły mi się problemy z kodowaniem. Tak wygląda tablica - miesiące Kod $miesiace = array( 'styczeń' , 'luty' , 'marzec' , 'kwiecień' , 'maj' , 'czerwiec' , 'lipiec' , 'sierpień' , 'wrzesień' , 'październik' , 'listopad' , 'grudzień' ); konwertuje ją na UTF-8 bo zakładam, że dane przelatują przez ajax który obsługuje utf-8 Kod $miesiace = array( 'styczeń' , 'luty' , 'marzec' , 'kwiecień' , 'maj' , 'czerwiec' , 'lipiec' , 'sierpień' , 'wrzesień' , 'październik' , 'listopad' , 'grudzień' ); for($m=0; $m <= count($miesiace); $m++){ $miesiace2[$m] = iconv('UTF-8', 'ISO-8859-2', $miesiace[$m]); } Potem wywalam te miesiące do tablicy. Kod $g -> set_x_labels ( $miesiace2 ); No i efektem jest to, że nie ma polskich znaków. Strona wyświetlana jest w utf-8 i dla testów zrobiłem Kod <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2"> Ktoś wie jak to obejść ? Bo chcę mieć polskie miesiące . ////////////////////////////////////////////////////////////////////////////////////////// CIĄG DALSZY Z kodowaniem sobie poradziłem. Miałem jeszcze problem z przekazywaniem danych do pliku php, z który generuje dane do wykresu. Zmuszony byłem użyć $_GET co nie bardzo mi się podoba. Jednak stwierdziłem, że będę filtrował dane i problem bezpieczeństwa raczej z głowy. Ostatnia sprawa bezpieczeństwa to to, że plik danych należy zabezpieczyć przed bezpośrednim wywołaniem, bo ktoś niepowołany będzie oglądał nasze dane. Pytanie tylko jak ? Bo dane są zaczytywane tak jak z zewnętrznego źródła . w zasadzie mamy plik dane.php do pliku przekazujemy wszystkie zmienne przez $_GET np. dane.php?limit=1&okres=tydzien Normalnie do takich danych można wykluczyć dostęp stosując coś takiego : Kod $p = strrpos($_SERVER['PHP_SELF'],'/'); //określa pozycję ostatniego wystąpienia ciągu $akualna_strona = substr($_SERVER['PHP_SELF'], $p+1 ); if ("dane.php" == $akualna_strona ) { // dane do których ma być dostęp } else { echo "brak dostępu"; } Powyższy kod chroni przed bezpośrednim wywołaniem kodu php. Problem jednak w tym, że z tą statystyką tak nie można zrobić bo ona wczytuje dane w sposób bezpośredni i to ona przeczyta napis brak dostępu. Można jeszcze generować w zmiennej $_GET tak zwany akceskey, ale to już jest mało bespieczne rozwiązanie. Przykładowo mogę wygenerować do pliku dane.php?akces=19201345654kda&limit=1&okres=tydzien dostęp do danych mógłby być wtedy ograniczony. Kod if ($_GET[akces] == '19201345654kda' ) { // dane do których ma być dostęp } else { echo "brak dostępu"; } W taki sposób mogę wywołać stronę podając stosowny klucz przez $_GET. Problem jest w tym , że to mało bezpieczne. Ma ktoś inny pomysł jak zabezpieczyć dane ? ///////////////////////// Część dalsza No to już rozwiązałem problem z niepowołanym dostępem . Generuję 2 klucze identyczne w obu skryptach. Czas przekazuję zmienną superglobalną $_GET do drugiego skryptu, który generuje dane i który posiada drugą identyczną sumę kontrolną dla funkcji md5(). W efekcie nie można zobaczyć już tych danych, a oba skrypty mają za każdym razem inny klucz. Kod $time_pare_key = microtime(); $key =md5('1456refasdfasdfgasdfasda5'.$time_pare_key.'sdfasdfasdfasdt557ujhfdgt'); echo $key; Jeśli ktoś sądzi , że nie trzeba zabezpieczyć danych przekazywanych w tle przez $_GET to się myli. Wystarczy ściągnąć sobie pod firefox wtyczkę friebug i elegancko widać wszystkie dane przekazywane w tle za pośrednictwem ajax. Jak widać udało się wcielić ładne statystyki. A przy okazji dane są bezpieczne (jeśli nie liczyć dziur , które posiada flash i które są w samym skrycpice). Storna projektu http://teethgrinder.co.uk/open-flash-chart/ Ten post edytował fiasko 6.01.2011, 16:39:58 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 6.07.2025 - 02:28 |