Пытался реализовать статистику запросов для своего сайта. Тестовый сайт подгружает скрипт с сервера. Код (Text): <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>test</title> <script charset="UTF-8" src="http://server.ru/analytics/watch.js"></script> </head> <body> </body> </html> Файл watch.js на сервере Код (PHP): <?php header('Content-Type:text/javascript;charset=utf-8'); echo "var ref = document.referrer; document.write(ref);"; ?> Файл .htaccess на сервере Код (Text): AddType application/x-httpd-php .js AddHandler x-httpd-php5 .js <FilesMatch "\.(js|php)$"> SetHandler application/x-httpd-php </FilesMatch> Тут без проблем, вывожу адрес сайта с которого был переход. Но дальше засада, не знаю как передать значение js-переменной ref в php. Ткните, в какую сторону смотреть.
$.get и $.post или $.ajax предполагает наличие фреймворка jquery, я правильно Вас понял? Добавлено спустя 40 минут 31 секунду: сделал пока так Код (PHP): echo "var ref = document.referrer; var loc = window.location.href; if (ref!='') { document.write('<img src=\"http://server.ru/analytics/watch.php?ref=' + ref + '&loc=' + loc + '\" '+'border=\"0\" width=\"1\" height=\"1\" />'); }"; меня терзают смутные сомнения, что можно сразу watch.php подключать.
я вот вам в личку скинул пример формирования запроса. если клиент поддерживает жс то будет записан тег с вызовом картинки по фиксированному адресу с передачей собранных данных. не поддерживает? - вызываем такую же картинку но передаем флаг "без скриптов". чем не устроило данное решение?
Ооо, пардон, не заметил сообщения, со времен моей регистрации на этом форуме это первое личное сообщение =). будем смотреть.
bkm, по-моему, ты правильно сделал. Скрипт узнает referrer и запрашивает картинку с добавлением GET параметров. Можешь файлу дать расширение не php, а gif, например. В htaccess Код (Text): AddType application/x-httpd-php .gif , а watch.gif будет обычным php файлом, который и будет забивать БД статистикой.
да ничего не надо менять. можно делать запрос не к гифке а к пыху - никто не мешает отображать картинки полученные с адреса с расширением пхп. просто потому что браузеру все равно на расширение. можно реврайт написать с перехватом гифа на пхп. но и этого не надо. на запрос просто надо ответить 204 и закрыть соединение.
Чтобы показать всему миру свой крутой баннер и плюнуть Гууглу|Яндексу в лицо. Ведь своя система статистики - это круто (как и своя CMS, например).
убей себя об стену. Your, с сервера подгружаю скрипт, который получает некоторые данные и подгружает "картинку". т.к. скрипт выполняется на клиенте (сайт на который скрипт подгружается), то передать данные на сервер посредством js не получается. вариант с картинкой и src вполне подходит, уже заканчиваю админку, скоро мое любимое занятие - тест - исправление - тест - исправление - тест - исправление и т.д.
- это было тебе. А "замечания" - это не замечания, по другому поводу написаны, но всё равно в ответ получил Спасибо.
подгружаю файл script.js внутри него код php, в дебагере ошибка - выводит все содержимое файла начиная с <?php SyntaxError: Unexpected token < файл .htaccess Код (Text): AddType application/x-httpd-php .js AddHandler x-httpd-php5 .js <FilesMatch "\.(js|php)$"> SetHandler application/x-httpd-php </FilesMatch> в чем может быть проблема?
Разобрался? Если в конфиге Апача в настройках директории стоит AllowOverride None, то .htaccess не обрабатывается.
Проблема была в хостинге. Вот ответ техподдержки надо переезжать хотя бы на vds. Я бы мог отправлять данные пхп скриптом (curl), но это надо лезть в движок, а тут код вставил и собирай статистику. Ну и вообще для опыта было интересно.
Сначала я так и подумал, что хостинг. Но промолчал. И не совсем понял задачу. Что отправляете, куда и что в итоге должно получиться. Ну раз разобрались значит уже не важно.