V minulých dvou dílech jsme se zabývali problémem, jak spočítat všechna shlédnutí internetové stránky. Slíbil jsem, že dnes se pustíme do počítadla aktivních uživatelů. Dříve se však budeme muset podívat na soubor Global.asa, který v naší aplikaci použijeme.
Soubor Global.asa je, jednoduše řečeno, soubor obsahující kód, pomocí nějž můžete určit, co se má stát, když návštěvník přijde či opustí náš web nebo když se startuje či ukončuje celá aplikace (tzn., že můžeme přiřadit hodnoty různým proměnným, ...). Nelze s ním však, logicky, vypisovat žádný text.
Jestliže se rozhodnete soubor Global.asa použít, budete jej muset uložit v kořenovém adresáři aplikace a každé aplikaci můžete přiřadit nanejvýše jeden. Při úpravě souboru se změny projeví až po restartu aplikace.
A jak tedy vypadá? Zde je ukázka:
|
<script language="vbscript" runat="server">
sub Application_OnStart
kód...
end sub
sub Application_OnEnd
kód...
end sub
sub Session_OnStart
kód...
end sub
sub Session_OnEnd
kód...
end sub
</script>
|
Jak vidíte, v souboru Global.asa se místo znaků <% a %> používá html tagu <script>. V něm se určuje skriptovací jazyk (language="vbscript") a místo, kde skript poběží - jestli u návštěvníka nebo na serveru. V našem případě musí skript běžet samozřejmě na straně serveru (runat="server"). Značkami Sub a End Sub se označují začátky a konce procedur. Na co kterou proceduru použít? To si teď vysvětlíme:
Application_OnStart
Tato procedura se vyvolá, když první uživatel vstoupí na vaše stránky (v tomto okamžiku aplikace začíná pracovat) - hned poté se spouští procedura Session_OnStart.
Application_OnEnd
Když je aplikace ukončena.
Session_OnStart
Tato procedura se vyvolá, když nový uživatel vstoupí na vaše stránky.
Session_OnEnd
Když se spojení s uživatelem ukončí (například po 20 minutách, kdy návštěvníkem po vašem serveru nic nepožadoval).
Po nutné dávce teorie se pustíme již do něčeho zábavnějšího (tedy doufám :-). Počítadlo by mělo fungovat následovně. Návštěvník si otevře stránku na vašem webu. V témže okamžiku se zvýší proměnná počítající aktivní uživatele o jedničku. A pokud návštěvník se serverem již nějakou dobu nekomunikuje, proměnná se zase o jedničku zmenší.
Podle uvedeného návodu to teď stačí jen převést do souboru Global.asa. Takže při startu aplikace (Application_OnStart) nastavíme pro jistoru proměnnou aktivni na nulu, v proceduře Session_OnStart bude kód, který ji zvýší o jedničku, a v proceduře Session_OnEnd zase kód proměnnou o jedničku snižující:
|
<script language="vbscript" runat="server">
sub Application_OnStart
application("aktivni") = 0
end sub
sub Application_OnEnd
end sub
sub Session_OnStart
application.lock
application("aktivni") = application("aktivni") + 1
application.unlock
end sub
sub Session_OnEnd
application.lock
application("aktivni") = application("aktivni") - 1
application.unlock
end sub
</script>
|
A tímto jednoduchým kódem končí dnešní díl.
Liška Adam
|