Sledovanie odkazov na stránke pomocou ASP
Viete, ktoré odkazy na vašej stránke sa najviac využívajú? Viete, ako intenzívne sa počas dňa používajú? Poznáte čas, kedy bol ten ktorý odkaz naposledy využitý? Odpoveď nájdete práve v tomto článku, v ktorom si vysvetlíme jednoduchý a modifikovateľný systém sledovanosti akýchkoľvek odkazov na vašej stránke.
Každý tvorca, ktorý už postavil nejakú tú internetovú stránku, sa na konci svojej namáhavej práce zväčša pozrie na svoje dielo a zamyslí sa, koľko a ako budú jeho stránku vlastne potencionálni návštevníci využívať. Jeho zvedavosť sa môže uspokojiť tým, že sa začne pozerať do svojich log záznamov, alebo siahne po nejakej voľne dostupnej službe, ktorá mu dá možnosť vložiť určitý kód priamo do stránky. Tieto možnosti sú časovo nenáročné na tvorbu, avšak nedávajú úplný prehľad o jednotlivých odkazoch na jednej stránke, preto vzniká potreba tvorby systému, ktorý by spĺňal viac požiadaviek.
Začnime príkladom a jeho popisom. Základom celého presmerovania je príkaz Response.Redirect
, ktorý si hneď ukážeme:
<%
‘ Definujeme si premennú URL
Dim URL
‘ Priradíme k premennej url adresu
URL = “http://www.interval.cz”
‘ použijeme samotný skript s premennou
Response.Redirect(URL)
%>
Tento skript, ak si ho spustíte, vás presmeruje na stránku s adresou http://www.interval.cz. Výhoda tohto ASP príkazu spočíva hlavne v tom, že sa dá použiť až potom, čo sa vykoná jednoduchý skript so zápisom o tom, že návštevník prejavil záujem o danú adresu (URL).
Ak chceme použiť rôzne internetové adresy, musíme získať hodnotu premennej cez príkaz Request.QueryString
. Tu sa naskytujú dve možnosti, buď vložíme do parametru celú internetovú adresu alebo použijeme skratku, špecifickú pre danú internetovú adresu (ID číslo, krátky jednoslovný názov). Osobne preferujem druhú možnosť hneď z niekoľkých dôvodov.
V rámci prvej možnosti môže vzniknúť problém, ak ju nepoužijete spolu s príkazom URLEncode, ktorý robí príkaz Request.QueryString
použiteľným medzi stránkami. Príkazový riadok v prehliadači je tiež dosť neprehľadný. Namiesto toho je prijateľnejšia spomínaná skratka, ktorá robí príkaz krajším a tiež Vám dáva možnosť sledovať niekoľko liniek na tú istú internetovú adresu. To sa dá využiť najmä pri bannerovej reklame.
Čo všetko potrebujeme?
Základom celého systému sú obsluhujúce ASP skripty a databáza, do ktorej sa údaje budú zapisovať. Pre svoju jednoduchosť budeme v tomto príklade používať databázu MS Access, ktorá je použiteľná skôr na malých internetových stránkach či v intranete, pretože nedokáže spracovávať niekoľko prístupov od rôznych užívateľov naraz.
V prípade, že používate systém NTFS, musíte si najprv nastaviť práva pre zápis do databázy, buď to budú práva pre celý adresár, v ktorom je databáza uložená, alebo nastavíte práva pre zápis iba pre samotnú databázu, súbor s príponou mdb.
Štruktúra aplikácie
- 2x tabuľky – tblClickInfo, tblClickLog
- 1x skript – ClickTracker.asp
Začnime s tabuľkami a ich údajmi. Najprv si určíme Unikátne ID a, aby systém fungoval, tak aj samotnú internetovú adresu. Dodatočne môžeme priradiť k adrese i prijateľnejší názov.
Tab 1.: tblClickInfo
Názov poľa | Dátový typ | Popis |
---|---|---|
id | automatické číslo | Unikátne číslo adresy internetovej stránky. |
nazov | text(50) | Unikátny prijateľnejší názov, ktorým špecifikujeme adresu na použitie. |
url | text(255) | Internetová adresa, kam chceme používateľa poslať. |
Tab 2.: tblClickLog
Názov poľa | Dátový typ | Popis |
---|---|---|
link_id | automatické číslo | Unikátne číslo adresy internetovej stránky tabuľky tblClickInfo , ktorej údaje patria. |
hit_datum | datum | Dátum kedy sa linka použila |
hit_pocet | číslo | Počet prístupov pre internetovú adresu v poli link_id počas dátumu v poli dátumu. |
hit_datum | datum | Čas poslednej návštevy za daný deň. |
Potom, čo sme si vytvorili potrebné tabuľky a naplnili ich adresami stránok, musíme vytvoriť skript, ktorý by obsluhoval zápis do tabuliek a presmeroval používateľa na jeho vytúženú internetovú stránku (ClickTracker.asp
):
<%@ Language=VBScript %>
<%
‚ Základ pre programovanie v ASP, aby boli všetky premenné deklarované
Option Explicit
‚ Určime si potrebné premenné:
‚ Prijateľnejší názov internetovej adresy na presmerovanie
Dim strMeno
‚ ADODB Spojenie
Dim conn
‚ Tabuľka tblClickInfo
Dim tblClickInfo
‚ Tabuľka tblClickLog
Dim tblClickLog
‚ SQL príkaz pre zápis do tabuľky tblClickLog
Dim strSQLlog
‚ SQL príkaz pre výber adresy stránky z tabuľky tblClickInfo
Dim strSQLinfo
‚ Unikátne id presmerovania pre zápis
Dim UniId
‚ Pomocou tohto príkazu zistíme prijateľnejší názov internetovej adresy
‚ Môže mať tvar: http://server/clicktracker.asp?nazov=intervalcz
‚ kde intervalcz je práve spomínaný prijateľnejší názov
strMeno = Request.QueryString(„nazov“)
‚ Vytvorime si ADO spojenie
Set conn = Server.CreateObject(„ADODB.Connection“)
‚ Cesta a driver pre spojenie s databazou MS ACCESS
conn.open „DRIVER={Microsoft Access Driver (*.mdb)};admin;DBQ=“&_
Server.MapPath(„../clicktracker/db/ClickTracker.mdb“)
‚ Vytvorit ADO tabulku
Set tblClickInfo = Server.CreateObject(„ADODB.Recordset“)
‚ Vyhľadat záznam, ktorý má prijateľnejší názov v premennej strMeno
strSQLinfo = „SELECT id, wwwadresa FROM tblClickInfo WHERE nazov = ‚“ & strMeno & „‚“
‚ Použit príkazy
tblClickInfo.Open strSQLinfo,conn,2,2
‚ Ak získame záznam, potom prejdeme na internetovú adresu uloženú v databáze
If Not tblClickInfo.EOF Then
‚ Priraď unikátne ID linky
UniId = tblClickInfo(„id“)
‚ Priraď samotnú linku
strMeno = tblClickInfo(„wwwadresa“)
‚ Máme teda všetko z databázy a môžeme ju uzavrieť
tblClickInfo.Close
Set tblClickInfo = Nothing
‚ Musíme si prispôsobiť formát dátumu pre databázu, aby s nami pracovala korektne.
‚ Tu chcem zdôrazniť, že ak budete mať problém s dátumom, je to otázka regionálneho
‚ nastavenia vo Vašom PC a prostredia databazy, ktoré sa nemusia zhodovať.
‚ MS SQL používa na ohraničenie dátumu značku ‚ , MS ACCESS používa #
Dim Datum
Datum = „#“ & Month(now()) & „/“ & Day(now()) & „/“ & Year(now()) & „#“
‚ Teraz použijeme SQL príkaz, aby sme vybrali už existujúci zápis
strSQLlog = „SELECT link_id, hit_datum, hit_pocet, hit_posledne FROM tblClickLog “ &_
„WHERE link_id = “ & UniId & “ AND hit_datum = “ & Datum
‚ Vytvorite si ADO tabuľku
Set tblClickLog = Server.CreateObject(„ADODB.Recordset“)
‚ Použiť príkazy
tblClickLog.Open strSQLlog,conn,2,2
‚ Ak sa záznam nenašiel, znamená to, že dnes sa použije internetová adresa
‚ po prvý krát a tak pridáme hodnotu 1 …
If tblClickLog.EOF Then
tblClickLog.AddNew
tblClickLog(„link_id“) = UniId
tblClickLog(„hit_datum“) = Date()
tblClickLog(„hit_pocet“) = 1
tblClickLog(„hit_posledne“) = Time()
‚ … inak aktualizujeme záznam a čas prístupu na internetovú adresu
Else
tblClickLog(„hit_pocet“) = tblClickLog(„hit_pocet“) + 1
tblClickLog(„hit_posledne“) = Time()
End If
‚ Uložíme zmeny
tblClickLog.Update
‚ Zatvoríme a zrušime spojenie
tblClickLog.Close
Set tblClickLog = Nothing
Else
‚ Ak nieje žiadny záznam v databáze o internetovej adrese potom presmerovať na úvodnu
‚ stranku
strMeno = „/“
End If
‚ Zrušíme spojenie
conn.Close
Set conn = Nothing
‚ Presmerujeme návštevnika, kam si zažiada
Response.Redirect strMeno
%>
Pridávanie, mazanie a úprava odkazov
Potom, ako ste si vytvorili samotné presmerovanie, si môžete vytvoriť skripty na pridávanie, mazanie a úpravu odkazov, aby vám spravili obsluhu ľahšou. Je to veľmi dôležitá vec. Súbory s názvom pridaj.asp, vymaz.asp a uprav.asp sú uložené v adresári admin v pribalenom zip archíve. Majú síce veľmi strohé grafické rozhranie, ale to je už na vás, ako si ich prikrášlite.
Štatistika prístupov
Ďalším a zároveň posledným krokom je samotný prehľad prístupov, na čo slúži skript prehlad.asp v adresári statistika v pribalenom zip archíve. Ukazuje, ako sa vyvíjali prístupy celkovo a ako za každý deň.
Související články
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Windows App: Pracujte odkudkoliv, kdykoliv
3. listopadu 2024 -
AI v programování: Jak používat GitHub Copilot (část 1)
12. února 2024 -
Umělá inteligence v IT
27. září 2023 -
Optimalizace a zlepšení výkonu kódu: tipy a triky
14. srpna 2023
Nejnovější
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024 -
Chcete jedinečnou doménu? Objevte koncovky FOOD, MEME a MUSIC!
7. listopadu 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024