Temat: Wstawianie skryptu i jego konfiguracja?

Wiem ze głupie pytania, ale w faq niema tego ani w dokumentacji.

1. Czy skrypt ma iść w przypadku stron htm i html do sekcji Head czy Body?

2. Czy wystarczy wstawić to tylko w index.htm czy warto dodać tez na innych podstronach i co to zmienia?

3. Poprawnie skonfigurowany skrypt będzie wyglądał tak:
<?php
define ('ESTATS_COUNT', 1);
define ('ESTATS_ADDRESS', 'index.htm');
define ('ESTATS_TITLE', 'Strona Glowna');
@include ('estats/stats.php');
?>

czy może "index.htm" i "estats/stats.php" powiny byś poprzedzone znakiem "/", czyli wyglądać tak:

<?php
define ('ESTATS_COUNT', 1);
define ('ESTATS_ADDRESS', '/index.htm');
define ('ESTATS_TITLE', 'Strona Glowna');
@include ('/estats/stats.p

BSD is for people who love Unix. Linux is for people who hate Microsoft.
Edit:
No, BSD is for people who: 1) love Unix 2) hate Linux
Linux jest dla leniwych. Raz zainstalowany działa wiecznie.

2

Odp: Wstawianie skryptu i jego konfiguracja?

kajttek napisał/a:

Wiem ze głupie pytania (...)

Nie ma głupich pytań ;-)

kajttek napisał/a:

1. Czy skrypt ma iść w przypadku stron htm i html do sekcji Head czy Body?

"htm" to tylko rozszerzenie, nie jestem pewien skąd się wzięło. W każdym razie - kod JS należy w przypadku stron HTML wstawiać w sekcji body. Dokładnie w miejscu, w którym chcemy, aby ukazał się antipixel eStats. Kod PHP zaś powinien zostać umieszczony przed całym kodem HTML. Jednak uwaga - standardowo serwery nie szukają PHP wewnątrz plików z rozszerzeniami html/htm, pamiętaj o tym.

kajttek napisał/a:

2. Czy wystarczy wstawić to tylko w index.htm czy warto dodać tez na innych podstronach i co to zmienia?

Jeśli masz powiedzmy podstronę "kot.html", a ktoś wejdzie na nią z wyszukiwarki, to wstawiony kod eStats doda te odwiedziny do statystyk. Bez kodu = bez informacji o tym odwiedzającym ;-)

kajttek napisał/a:

3. Poprawnie skonfigurowany skrypt będzie wyglądał tak:
<?php
define ('ESTATS_COUNT', 1);
define ('ESTATS_ADDRESS', 'index.htm');
define ('ESTATS_TITLE', 'Strona Glowna');
@include ('estats/stats.php');
?>

czy może "index.htm" i "estats/stats.php" powiny byś poprzedzone znakiem "/", czyli wyglądać tak:

<?php
define ('ESTATS_COUNT', 1);
define ('ESTATS_ADDRESS', '/index.htm');
define ('ESTATS_TITLE', 'Strona Glowna');
@include ('/estats/stats.php');
?>

Ścieżka dla include powinna być zrelatywizowana do faktycznej lokalizacji pliku eStats na serwerze. Czyli standardowo przykład pierwszy.
Ścieżka dla stałej ESTATS_ADDRESS powinna jednak określać adres względem domeny. Czyli standardowo przykład drugi.
W większości przypadków ten kod będzie poprawny:
[code]<?php
define ('ESTATS_COUNT', 1);
define ('ESTATS_ADDRESS', '/index.htm');
define ('ESTATS_TITLE', 'Strona Glowna');
@inclu

3

Odp: Wstawianie skryptu i jego konfiguracja?

Dzięki za szybką odpowiedź.

No więc tak:

1. Co znaczy "Jednak uwaga - standardowo serwery nie szukają PHP wewnątrz plików z rozszerzeniami html/htm, pamiętaj o tym." ?? Bo nie łapie wink

2.  Tu wszystko jasne, dzięki.

3. Ok podążając za twoim przykładem wstawiłem tak jak mówisz, ale nadal nie nalicza mi.

Tu jest adres strony: http://lubon.8p.pl
Tu jest wstawiony ten kod ( ze względu na niemożliwość wstawienia w index) : http://lubon.8p.pl/spis.htm

Teraz dochodzi 4. No więc korzystam ze ściągawki na http://estats.emdek.cba.pl/index.php?pa … t-install/
Tam jest napisane: "[COUNT] - 0 - zbieraj tylko dane techniczne, 1 - zbieraj wszystkie dane (tylko gdy nie używasz kodu PHP);"

Czyli wnioskuje że jak używa się tego kodu w JS, to tego PHP nie trzeba?

i 5. Mógł byś w źródle strony (spis.htm) zobaczyć co jest źle i dlaczego nadal nie liczy?

Pozdrawiam wink wink

BSD is for people who love Unix. Linux is for people who hate Microsoft.
Edit:
No, BSD is for people who: 1) love Unix 2) hate Linux
Linux jest dla leniwych. Raz zainstalowany działa wiecznie.

4

Odp: Wstawianie skryptu i jego konfiguracja?

kajttek napisał/a:

Dzięki za szybką odpowiedź.

Wybacz, że tym razem niezbyt szybko - sporo zajęć "na wczoraj" mam :-]

kajttek napisał/a:

1. Co znaczy "Jednak uwaga - standardowo serwery nie szukają PHP wewnątrz plików z rozszerzeniami html/htm, pamiętaj o tym." ?? Bo nie łapie wink

Hm, statystycznie jest około 90% szans, że używasz Microsoft Windows. Więc na przykładzie z tego systemu - jeśli plik program.exe przemianujesz na program.jpg - czy system nadal będzie go uruchamiał ;-)? Nie, nie będzie - zamiast tego spróbuje go wyświetlić w przeglądarce obrazków. Podobnie jest na serwerze - PHP jest uruchamiane standardowo w plikach nazwa.php a w nazwa.html już nie.

kajttek napisał/a:

3. Ok podążając za twoim przykładem wstawiłem tak jak mówisz, ale nadal nie nalicza mi.
(...)
Teraz dochodzi 4. No więc korzystam ze ściągawki na http://estats.emdek.cba.pl/index.php?pa … t-install/
Tam jest napisane: "[COUNT] - 0 - zbieraj tylko dane techniczne, 1 - zbieraj wszystkie dane (tylko gdy nie używasz kodu PHP);"

Czyli wnioskuje że jak używa się tego kodu w JS, to tego PHP nie trzeba?

i 5. Mógł byś w źródle strony (spis.htm) zobaczyć co jest źle i dlaczego nadal nie liczy?

Hm, w ten sposób napiszę:
1. Twój serwer jest skonfigurowany standardowo. Sam otwórz źródło strony i popatrz - widać kod PHP, wyświetlony po prostu jako znacznik HTML. Nie został więc wykonany (PHP to język server-side) tylko wysłany z HTML. Aby użyć kodu PHP musisz zmienić rozszerzenie pliku na php - ew. dodać definicję w .htaccess (odradzam);
2.[code]var ePath = 'estats/';[/code]
zmień na[code]var ePath = '/estats/';[/code]
3. Jeśli nie użyjesz kodu PHP, to eStats nie uwzględni odwiedzin robotów i odwiedzających z wyłączonym JavaScript. Możesz tak jednak zrobić...ale w takiej sytuacji, aby skrypt działał, musisz ustawić:[code]var eCount = 1;[/c

5

Odp: Wstawianie skryptu i jego konfiguracja?

Hehe, ok dzieki.

Co do Micro$oftu to się mylisz, bo jestem wtych 10 procentach które postawiły na GNU. Konkretnie Kubuntu na desktopach tongue

Dalej. Zmieniłem wpis

var ePath = '/estats/';

Jednak myślę że trzeba zapisać stronę spis.htm jako spis.php, dla poprawności działania wszystkiego tak? Pozdrawiam

Edit:

Dodałem plik spis.php www.lubon.8p.pl/spis.php

Widze ze w źródle strony nie widać już tego skryptu php (chyba został wykonany) ale nadal nie liczy... Pozdrawi

Ostatnio edytowany przez kajttek (22.05.2008 11:09:29)

BSD is for people who love Unix. Linux is for people who hate Microsoft.
Edit:
No, BSD is for people who: 1) love Unix 2) hate Linux
Linux jest dla leniwych. Raz zainstalowany działa wiecznie.

6

Odp: Wstawianie skryptu i jego konfiguracja?

Sprawdź czy statystyki są aktywne (powinien być widoczny komunikat po zalogowaniu do panelu, jeśli są wyłączone).
Drugą możliwością jest to, że z jakiegoś powodu plik stats.php nie jest dołączany, może nie istnieć lub nie mieć praw do odczytu, jeśli ścieżka jest poprawna.

Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.

7

Odp: Wstawianie skryptu i jego konfiguracja?

Nie wiem, statystyki są aktywne, tryb edycji wyłączony.

Wszystkie pliki maja uprawnienia 755, na większe administratorzy serwerów nie pozwalają, ale mówią ze to to samo co 777. Nie wiem w czym problem. Pozdrawiam

plik stats.php wygląda tak:

[code]
<?php

error_reporting (0);

ignore_user_abort (1);

if (!session_id ()) session_start ();

define ('ePATH', dirname (__FILE__).'/');

function e_error ($Error, $File, $Line, $Arg = 0) {

         if (!defined ('eCRITICAL')) define ('eCRITICAL', 1);

         echo '<b>eStats error:</b> <i>'.($Arg?$Error:'Could not load file: <b>'.$Error.'</b>!').'</i> (<b>'.$File.': '.$Line.'</b>)<br />

';

         }

if (isset ($_GET['estats']) && isset ($_GET['count']) && $_GET['count']) {

   define ('eCOUNT', 1);

   if (isset ($_GET['address'])) {

      $Address = parse_url ($_GET['address']);

      define ('eADDRESS', $Address['path'].($Address['query']?'?'.$Address['query']:''));

      }

   if (isset ($_GET['title'])) define ('eTITLE', $_GET['title']);

   }

if (!include (ePATH.'conf/config.php')) e_error ('conf/config.php', __FILE__, __LINE__);

if (!include (ePATH.'lib/stats.php')) e_error ('lib/stats.php', __FILE__, __LINE__);

if (!include (ePATH.'db/'.$DBType.'/stats.php')) e_error ('db/'.$DBType.'/stats.php', __FILE__, __LINE__);

if (!defined ('eCRITICAL')) $DB = new estats_db;

if (!defined ('eCRITICAL')) {

   e_configuration (0);

   if ($StatsEnabled) {

      if ($SendHeaders) e_headers ();

      if ($Backups['time'] && ((time () - $LastBackup > $Backups['time']))) e_create_backup ();

      if (defined ('eCOUNT') || isset ($_GET['estats'])) {

         e_get_ip ();

         if (e_ip (eIP, $IgnoredIPs)) {

            if (!isset ($_GET['estats'])) $DB->ignored_visit ();

            }

         else $DB->visitor ();

         }

      }

   }

if (isset ($_GET['estats']) && $_GET['estats'] && defined ('eNOINFO') && defined ('eVID')) {

   $Stats = array (

    (($_GET['javascript'] == 1)?1:0),

    (is_numeric ($_GET['cookies'])?(int) $_GET['cookies']:'?'),

    (is_numeric ($_GET['flash'])?(int) $_GET['flash']:'?'),

    (is_numeric ($_GET['java'])?(int) $_GET['java']:'?'),

    (((int) $_GET['width'] && (int) $_GET['height'])?((int) $_GET['width']).' x '.((int) $_GET['height']):'?'),

    1

    );

   $Array = array (

    'javascript',

    'cookies',

    'flash',

    'java',

    'screens'

    );

   for ($i = 0; $i < 5; $i++) $DB->update ($Array[$i], $Stats[$i]);

   }

else $Stats = array_fill (0, 9, 0);

define ('eROBOT', e_robot ($_SERVER['HTTP_USER_AGENT']));

if (!defined ('eADDRESS')) define ('eADDRESS', $_SERVER['REQUEST_URI']);

if (defined ('eCOUNT') && defined ('eNEWVISITOR')) {

   $Stats[6] = eROBOT;

   if (!eROBOT) {

      $Stats[7] = gethostbyaddr (eIP);

      $Stats[8] = strtoupper (e_lang ());

      if ($CollectData['langs']) $DB->update ('langs', $Stats[8]);

      if ($CollectData['browsers']) $DB->update ('browsers', e_browser ($_SERVER['HTTP_USER_AGENT']));

      if ($CollectData['oses']) $DB->update ('oses', e_os ($_SERVER['HTTP_USER_AGENT']));

      if ($CollectData['hosts']) {

         $SHost = explode ('.', $Stats[7]);

         $SHost = (!is_numeric (((count ($SHost) > 1)?$SHost[count ($SHost) - 2].'.':'').end ($SHost))?((count ($SHost) > 1)?$SHost[count ($SHost) - 2].'.':'').end ($SHost):'?');

         $DB->update ('hosts', ($SHost?$SHost:'?'));

         }

      if (isset ($_SERVER['HTTP_REFERER']) && ($CollectData['websearchers'] || $CollectData['keywords'])) {

         $Referrer = parse_url ($_SERVER['HTTP_REFERER']);

         if ($CollectData['referrers']) $DB->update ('referrers', (in_array ($Referrer['host'], $Referrers))?'?':'http://'.strtolower ($Referrer['host']));

         $WebSearch = e_websearcher ($Referrer, $CountPhrases);

         if ($WebSearch) {

            if ($CollectData['websearchers']) $DB->update ('websearchers', $WebSearch[0]);

            if ($CollectData['keywords']) {

               for ($i = 0, $c = count ($WebSearch[1]); $i < $c; $i++) {

                   if ($WebSearch[1][$i]) $DB->update ('keywords', $WebSearch[1][$i]);

                   }

               }

            }

         }

      }

   else if ($CollectData['robots']) $DB->update ('robots', $Stats[6]);

   }

if (defined ('eVID')) {

   $DB->visit ($Stats);

   if (defined ('eCOUNT') && $CollectData['sites']) $DB->update ('sites', (defined ('eTITLE')?eTI

Ostatnio edytowany przez kajttek (22.05.2008 17:58:29)

BSD is for people who love Unix. Linux is for people who hate Microsoft.
Edit:
No, BSD is for people who: 1) love Unix 2) hate Linux
Linux jest dla leniwych. Raz zainstalowany działa wiecznie.

8

Odp: Wstawianie skryptu i jego konfiguracja?

Wklejony kod wszystko tłumaczy ;-).
Używasz kodu aktywacyjnego dla wersji 4.9, chociaż masz zainstalowaną 4.5.
Zainstaluj najnowszą wersję i problem powinien zniknąć.

Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.

9

Odp: Wstawianie skryptu i jego konfiguracja?

Dobra Panowie wielkie dzię&#312;i smile Jak bym się mógł jakoś odwdzięczyć? Jak znajdę jakieś błędy pod moją konfiguracją to oczywiści poinformuje big_smile

Pozdrawiam wink

BSD is for people who love Unix. Linux is for people who hate Microsoft.
Edit:
No, BSD is for people who: 1) love Unix 2) hate Linux
Linux jest dla leniwych. Raz zainstalowany działa wiecznie.