plaxton
18.12.2018, 01:27:03
Witam,
Pytanie od przedszkolaka :-)
Czy jest możliwość aby wykonać skrypt PHP automatycznie po wejściu na stronę index.html ?
Potrzebuję wykonać prosty skrytp do logów strony który zbierałby informacje o użytkowniku: IP , UA, itd... , a następnie zapisywał do pliku log.txt . Niestety nie mam dostępu do logów serwera. Taki skrypcik posiadam , ale działa on tylko przy wysyłaniu formularza i Submit . Natomiast chciałbym aby był on wykonywany automatycznie przy każdym wejściu na stronę w .html
Czy to jest w ogóle możliwe , czy trzeba przerabiać na .JS ?
Ew. czy ktoś może polecić podobne, gotowe rozwiązanie w JS ?
StrefaPi
18.12.2018, 08:04:41
include w każdym pliku ;)
Piwik, Google Analytics
trueblue
18.12.2018, 08:41:40
Możesz przekierować wszystkie pliki .html na wrapper w PHP, który "wykona" statystykę, a w odpowiedzi poda plik HTML.
Można też w .htaccess spowodować doklejanie kodu na koniec pliku.
plaxton
19.12.2018, 01:32:00
@StrefaPi
- include - To rozwiązanie działa chyba jeśli chciałbym umieścić odwołanie .html w pliku .php , a nie na odwrót : plik PHP traktować jako skrypt w pliku .html
Musiałbym wszystko przerabiać na .php i w każdej stronie imieszczać include do .html
- G Analystic - nie zbiera logów. Piwik jest płatny.
@trueblue
"Można też w .htaccess spowodować doklejanie kodu na koniec pliku."
Jak to zrobić ? Bo to chyba najprostsze rozwiązanie ?
Ogólnie z tego wnioskuje że rozwiązania takiego prostego i podstawowego nie ma w PHP , i lepiej przerobić to na JS dodając link do skryptu w stronę html ?
markonix
19.12.2018, 01:54:22
Cytat(plaxton @ 19.12.2018, 01:32:00 )

Ogólnie z tego wnioskuje że rozwiązania takiego prostego i podstawowego nie ma w PHP , i lepiej przerobić to na JS dodając link do skryptu w stronę html ?
Oczywiście, że jest. Każda aplikacja i framework ma możliwość wstrzyknięcia kodu, który wykona się przy określonej akcji, chociażby każdym otwarciu strony (request GET).
W Twoim przypadku chodzi o pojedynczy plik więc do tego pojedynczego pliku wklejasz kod PHP, nie musi być w include, nie musi być wstrzykiwany nietypowymi metodami.
To, że plik ma rozszerzenie html nie oznacza, że nie odpalisz w nim php.
plaxton
20.12.2018, 00:12:51
Cytat(markonix @ 19.12.2018, 01:54:22 )

Oczywiście, że jest. Każda aplikacja i framework ma możliwość wstrzyknięcia kodu, który wykona się przy określonej akcji, chociażby każdym otwarciu strony (request GET).
W Twoim przypadku chodzi o pojedynczy plik więc do tego pojedynczego pliku wklejasz kod PHP, nie musi być w include, nie musi być wstrzykiwany nietypowymi metodami.
To, że plik ma rozszerzenie html nie oznacza, że nie odpalisz w nim php.
OK,
do odpalenia skryptu PHP przez formularz używam kodu :
<form id="contactform" name="contactform" action="contact.php" method="post"> <button type="submit" value="wyslij"class="btn ">Wyślij
</button>
Zatem jak powinien wyglądać kod aby odpalić kod PHP automatycznie po wejściu na strone ?
.
Pyton_000
20.12.2018, 08:36:11
Jeśli ten twój plik ze skryptem nic nie zwraca (żadnego output) to:
- albo możesz zrobić request ajaxem
- wstawić takiego potworka:
<img src="twoj.php" alt="" />
powinno zadziałąć
markonix
20.12.2018, 12:37:28
Nadal nie rozumiem po co ajax lub pixel śledzący zamiast inline php w miejscu w którym ma się wykonywać.
Pyton_000
20.12.2018, 12:56:38
Dla tego że to plik html?
markonix
20.12.2018, 22:39:56
W niczym to nie przeszkadza, linijka kodu i html będzie parsowany poza tym nigdzie nie zostało napisane, że to musi być html w znaczeniu rozszerzenia, bardziej uznaje, że chodzi po prostu o to że mamy podstronę z kodem HTML.
plaxton
21.12.2018, 00:18:39
Cytat(markonix @ 20.12.2018, 22:39:56 )

W niczym to nie przeszkadza, linijka kodu i html będzie parsowany poza tym nigdzie nie zostało napisane, że to musi być html w znaczeniu rozszerzenia, bardziej uznaje, że chodzi po prostu o to że mamy podstronę z kodem HTML.
strona w kodzie html , w rozszerzeniu pliku index.html
Ten potworek mi się podoba:
<img src="twoj.php" alt="" />
To jest tzw pixel śledzący ? Czy Google ma coś przeciwko lub przeglądarki jeśli odpali się PHP poprzez IMG ? Nie będą krzyczeć ?
Nic na stronę nie ma być zwracane tylko zapisywane do logs.txt
markonix
21.12.2018, 23:01:01
Cytat(plaxton @ 21.12.2018, 00:18:39 )

strona w kodzie html , w rozszerzeniu pliku index.html
W niczym to nie przeszkadza.
https://www.google.com/search?safe=off&...l+parser+as+php
Pyton_000
22.12.2018, 08:44:07
@markonix zdajesz sobie sprawę że parsowanie HTML to nie jest najlepsze rozwiązanie? Tym bardziej do takiedo trywialnego zadania
markonix
22.12.2018, 12:42:30
Nie zdaje sobie sprawy skoro to zasugerowałem.
Nie raz z tego korzystałem na statycznych stronach HTML gdzie potrzebne było troszkę PHP i w żaden sposób się na tym jeszcze nie sparzyłem.
Jedyną wadę jaką widzę to kwestie optymalności, plik HTML leci niepotrzebnie przez parser PHP.
Pixele śledzące mogą być blokowane przez wtyczyki i tryby incognito. Z drugiej strony Ty zwracasz obrazek więc nie są w stanie wykryć tego co się dzieje pod przykryciem.
Obrazek też z pewnością optymalny nie jest bo to request oraz minusem jest, że traci kontekst wywołania (np. referer).
plaxton
18.02.2019, 01:54:04
Pozwolę sobie odświeżyć temat.
Patent z <img> i skryptem php działa, przynajmniej w localhost. Jeśli kogoś by zainteresowało znalazłem też jak to zamaskować , choć jeszcze nie próbowałem w praktyce.
http://blog.aleksander.kaweczynski.pl/jak-...comment-page-1/Ale proszę o pomoc w kodzie PHP. Nie wiem czemu ale zapisuje mi się dwa razy. Otrzymuje dwa rekordy z tymi samymi wartościami. Nie wiem czy to wina kodu, czy też skrypt jest dwa razy uruchamiany w zdjęciu ?
sama końcówka:
$fp=fopen("logs.txt","a"); // here is apendix $savestring = "ONE: ".$ipaddress." TWO: ".$useragent."\n";
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.