Kliknięcie na link - zapis do loga, pobranie pliku

0

Wita.

Pytanie jest pewnie banalne, ale dla mnie wszystko co związanie z web jest czarną magią ;).

Chce wrzucić na stronę link, ale zależy mi na tym aby wiedzieć ile razy (kiedy) został kliknięty.

Wiem jak do linku dodać funkcję w JS, ale z tego co widzę to w ten sposób nie dam rady zapisać do MySQL czy do pliku.

Jak w takim razie powinienem to zrobić?

1

Pytanie brzmi, czy adres, pod który linkujesz, jest twój, czy jakiś zewnętrzny?

  • Jeśli twój, to robisz na stronie docelowej normalne logowanie w PHP, ew. filtrując tylko użytkowników, którzy przyszli tam z określonego adresu.
  • Jeśli nie twój, to zostaje jakieś
    • <a href="cośtam" onclick="moja_funkcja_ajax();">opis</a>, która zapisze ci to kliknięcie w logach,
    • ew. link z przekierowaniem, coś w stylu <a href="mojastrona.pl/zliczaczklikow?adres_docelowy=obcastrona.pl">opis</a>, a pod zliczaczklikow podpinasz sobie normalne php z zapisem do logów i przekierowaniem na stronę docelową.
0

@Freja Draco: linkuje do pliku na moim serwerze.

robisz na stronie docelowej normalne logowanie w PHP

Jakieś słowo klucz :)?

1

Prościutki kod zapisujący do pliku wejścia na stronę:


<?php
// --- odczyt danych
$epokau=date("U");
$data=date("Y.m.d");
$godzina=date("H:i:s");

$adresip="-";
$system="-";
$przyszedl="-";

// adres i system
$adresip=$_SERVER["REMOTE_ADDR"];
$system=$_SERVER["HTTP_USER_AGENT"];
if (isset($_SERVER['HTTP_REFERER'])==true) $przyszedl=$_SERVER['HTTP_REFERER'];

// filtrowanie
$system=strip_tags($system);
$przyszedl=strip_tags($przyszedl);
// --- /odczyt danych


// --- zapis danych
$statystyka=fopen("staty/lista_otwartych_stron.txt","a");
  flock($statystyka, 2);
  fputs($statystyka,"\n$data^$godzina^$adresip^$przyszedl^$system^$epokau^");
  flock($statystyka, 3);
fclose($statystyka);
// --- /zapis danych
?>
2

A ja uzupełnię skrypcikiem: CCount - click and download counter
https://www.phpjunkyard.com/php-click-counter.php

0

Dziękuję Panowie.

Skorzystałem ze skryptu zaproponowanego przez @czysteskarpety - to było naprawdę proste :).

1 użytkowników online, w tym zalogowanych: 0, gości: 1