|
|
|
| Пожалуйста помогите срочно нужен готовый скрипт простейшего счетчика посещения сайта на php, который будет определять количество посетителей на сайте (а не на странице)!!!
Срочно нужен прям щас!!! Помогите если не трудно!!! | |
|
|
|
|
|
|
|
для: Полина
(12.09.2007 в 22:13)
| | тут готового дофига http://www.hotscripts.com/PHP/Scripts_and_Programs/Counters/index.html
а самой почему не написать?) элементарное действие, 3 функции, 3-4 запроса к БД и 2 таблицы в БД) а о накрутки не парься) если сделаешь то что невозможно накрутить то то ....ээ ты супер програмистка как миниум) | |
|
|
|
|
|
|
|
для: tricket
(12.09.2007 в 22:33)
| | Мне надо без использования БД! Я в них не понимаю не фига. А счетчик нужен прям сейчас. Мне нужен самый простой. Самый банальный, с использованием каких нибудь сессий что ли. Прям чтобы в один файл. И работал. Даже представить не можете как нужно!!! | |
|
|
|
|
|
|
|
для: Полина
(12.09.2007 в 22:37)
| |
<?
yes='';
$proxys=file("ip.txt");
for($i=0; $i<count($proxys); $i++){
if(trim($proxys[$i])==$ip){
++$n;
}
}
if($n=='0'){
@$file=fopen("ip.txt", "a+t");
@fwrite($file, $ip."\n");
@fclose($file);
$yes=true;
}else{
$yes=false;
}
if($yes){
$users=file("user.txt");
$count=$users[0];
$count++;
#стираем файл
$fp=fopen("user.txt","w");
fclose($fp);
#записываем новое значение
$file=fopen("user.txt", "a+t");
fwrite($file, $count);
fclose($file);
}
?>
|
скрипт етот в каждый файл сайта просто инклудь (include "n.php";)
спать хочу сильна) 1 курс пока к инсту ещё не привык) как понимаю код в инст срочно нужен... вроде етот должен работать... скрипт отладить не успел... если ещё есть время, то завтра помогу...
скрпит на коленке собран за 5 минут) | |
|
|
|
|
|
|
|
для: tricket
(12.09.2007 в 23:07)
| | Хорошо спасибо большое. Сейчас попробую. Ага, в универ. Это летняя практика была. )
Вообще то он че-то не сильно работает. Ладно буду сдавать счетчик страницы. Может прокатит.) | |
|
|
|
|
|
|
|
для: Полина
(12.09.2007 в 23:16)
| | Можно вот так сделать, если так боитесь СУБД использовать:
<?php
if(!headers_sent())
{
if(!session_id()) session_start();
$cname = "c.txt";
if(!is_writable("."))
{
die("Dir '" . getcwd() . "' isn't writable.<br />\r\n");
}
elseif(!is_file($cname))
{
fclose(fopen($cname, "w"));
}
if(!is_writable($cname))
{
die("File '" . getcwd() . "/" . $cname . "' isn't writable.<br />\r\n");
}
$fh = fopen($cname, "rb");
for($online = array(), $exists = false; $line = fgets($fh);)
{
list($sid, $time) = explode(";", $line);
if($sid == session_id())
{
$time = time();
$exists = true;
}
//Если пользователь не заходил в течение 5 минут, то, вероятно, он ушел
if($time > time() - 60 * 5)
{
$online[] = $sid . ";" . $time;
}
}
fclose($fh);
if(!$exists)
{
$online[] = session_id() . ";" . time();
}
$fh = fopen($cname, "wb");
fwrite($fh, implode("\r\n", $online));
fclose($fh);
}
else
{
die("Could not start session: headers already sent.<br />\r\n");
}
?>
|
P.S. Подсчитывать можно, допустим так:
<?php
echo(count(file($cname)));
?>
|
P.P.S. Если файл $cname будет небольшой.
P.P.P.S. Вообще всё так некрасиво без СУБД.
P.P.P.P.S. Данный код надо подключать ко всем страницам сайта. | |
|
|
|
|
|
|
|
для: Unkind
(12.09.2007 в 23:25)
| | Что-то этот скрипт не разбежался что-то выводить. Может я что-нибудь неправильно делаю? Я вот echo ваше последнее тудаже в конец засунула. Может так нельзя? Дяденька я честно ниче не понимаю. Из всего php я еще как то понимаю работу с файлами и сессии. Остальное остается загадкой. | |
|
|
|
|
|
|
|
для: Полина
(12.09.2007 в 23:34)
| | Что-то этот скрипт не разбежался что-то выводить. Может я что-нибудь неправильно делаю? Я вот echo ваше последнее тудаже в конец засунула. Может так нельзя?
Посмотрите внимательнее. Единицы не появилось? Файл c.txt появился?
> Дяденька я честно ниче не понимаю.
Да уж не дяденька я Вам... | |
|
|
|
|
|
|
|
для: Unkind
(12.09.2007 в 23:41)
| | Дедушка, честное слово ниче не появилось.) И файл как бы тоже не создался. Я его сама создала потом. Но тоже ничего хорошего.) | |
|
|
|
|
|
|
|
для: Полина
(12.09.2007 в 23:49)
| | Ну, бабушка, проверьте, включен ли вывод ошибок PHP, передается ли SID через Cookies. | |
|
|
|
|
|
|
|
для: Unkind
(12.09.2007 в 23:57)
| | Вывод ошибок включен. Остальное я не понимаю. Один хрен ниче уже не пойму в этом.)) | |
|
|
|
|
|
|
|
для: Полина
(12.09.2007 в 23:58)
| | Да ну че-то Вы там спутали. Код проверял - рабочий. Немного от настроек PHP зависит, конечно, но никак не реагировать на ошибки он не может. Рядом echo "Oops"; напишите. | |
|
|
|
|
|
|
|
для: Unkind
(13.09.2007 в 00:04)
| | Нашла я ошибку. Свою.) Когда код копировала от старого осталось < . Вот и получилось <<?php и надо думать из-за этого скрипт не работал!!!
А кстати при заходе на эту страничку с моего компьютера счетчик всегда 1 будет равен?! | |
|
|
|
|
|
|
|
для: Полина
(13.09.2007 в 00:08)
| | Скрипт-то работал. Просто браузер результат за HTML-тег принял.
К сожалению, сетчатку глаз скрипт сравнить не может. С Вашего - да, всегда один. Если cookies включены. | |
|
|
|
|
|
|
|
для: Unkind
(13.09.2007 в 00:13)
| | Ну вот. Тоска какая. Я думала что при обновлении страницы счетчик значение не изменит, а вот если выйти со страницы, а потом снова открыть значение увеличиться. Так бывает! Я где то видела! Там обещали что скрипт будет работать где - то таким образом.
Правда на самом деле он тоже все время 1 выдавал.) | |
|
|
|
|
|
|
|
для: Полина
(13.09.2007 в 00:18)
| | Извините, пожалуйста. Но я Вашу женскую логику понять не в состоянии.
Зашел - 1 онлайн. Ушел - 0 онлайн. Зашел - 2 онлайн.
Это баг. Так быть не должно.
А насчет 1 онлайн я несколько поспешил - можно, допустим запросить документ с компа в локальной сети. Или с др. браузера. | |
|
|
|
|
|
|
|
для: Unkind
(13.09.2007 в 00:25)
| | Вот тут и фишка! Значит и с вашей программой у меня тоже не получается? У меня при повторном заходе 1 онлайн. И так всегда! Счетчик не увеличивает значения!
Т.е. увеличивает, но если я захожу с другого браузера. Т.о. есть надежда что если я все же закрою все вкладки в браузере и закрою его а потом заново войду то счетчик увеличится. Клево! Надо попробывать!
Нормальная у нас логика, человечная.
Кстати можно я обнаглею? Мне бы еще несколько коментов к этому скрипту. Но это если вам ваще не сложно. А если в лом писать то ладно нафиг. | |
|
|
|
|
|
|
|
для: Полина
(13.09.2007 в 00:46)
| | Если закроете все закладки и зайдете заново - все равно 1 будет. Все дело в печеньках.
Кстати, доступ к файлику бы закрыть по HTTP. А то потенциальная уязвимость. Все SID'ы видны. | |
|
|
|
|
|
|
|
для: Unkind
(13.09.2007 в 09:47)
| | Что означает в конце строка count(file($cname))? | |
|
|
|
|
|
|
|
для: Полина
(13.09.2007 в 09:54)
| | file() запихивает содержимое файла в массив - каждая новая строка это новый элемент массива.
count() подсчитывает кол-во элементов массива.
Поскольку каждый SID пишется с новой строки, то выходит, что подсчитываются SID'ы. | |
|
|
|
|
|
|
|
для: Unkind
(12.09.2007 в 23:41)
| | А кстати я же параллельно отчет по этой хне пишу. Вы можете мне подсказать Apach это локальный сервер? Нужно для корректности текста.) | |
|
|
|
|
|
|
|
для: Полина
(12.09.2007 в 23:50)
| | Apache - HTTP- сервер. | |
|
|
|
|
|
|
|
для: tricket
(12.09.2007 в 22:33)
| | Это простейший счётчик?..:-)
Достаточно одной таблицы и двух запросов: для счёта и для вывода. | |
|
|
|
|
|
|
|
для: Полина
(12.09.2007 в 22:13)
| | "Попрыгунья стрекоза лето красное все пела, оглянуться не успела..." - дедушка Крылов вспомнился :) Это не для обиды Полина, вы же давно, как спрашивали и про Апач, и про счетчик!? | |
|
|
|
|
|
|
|
для: sim5
(13.09.2007 в 06:52)
| | Привет!!! Я и не обижаюсь почти. Сама знаю что балда и не добросовестно отношусь к программированию.
Ага, спрашивала. Потом написала счетчик, который считает сколько раз страница была открыта и решила устроить себе выходной по этому поводу. Он затянулся.))
А теперь вот вчиталась в задание оказалось, что счетчик на страницу и для всего сайта это разные вещи. Теперь думаю как получше отмазываться если просекут мою подмену.))) | |
|
|
|
|
|
|
|
для: Полина
(13.09.2007 в 08:15)
| | Спрашивают у студента англичанина, сколько времени ему потребуется на изучение и сдачу японского языка - "5 лет" - отвечает. Спрашивают русского студента.
- А методичка есть?
- Да, вот, пожалуйста.
Полистал наш студент методичку.
- Сейчас докурю и идем сдавать.
Как отмазаться? А вы пропишите switch($curator) {case...}, где $curator - это характер вашего препода, "пролистайте" свой счетчик и идите сдавать :)) | |
|
|
|
|
|
|
|
для: sim5
(13.09.2007 в 08:36)
| | )) Вот я тоже сейчас докурю и пойду сдавать. Только у меня вместо методички Форум SoftTime. Самый лучший форум! Здесь беспутный студент всегда найдет помощь и поддержку!!!) | |
|
|
|
|
|
|
|
для: Полина
(12.09.2007 в 22:13)
| | Возможно вас заинтересует приложение по ссылке http://www.softtime.ru/info/litecounter10.php. | |
|
|
|
|
|
|
|
для: cheops
(13.09.2007 в 11:03)
| | Ай-яй-яй...
2. В свою копию Программного продукта и в любую его часть Вы можете
вносить изменения, создавая, таким образом, разработку на основе
Программного продукта, и делать копии и распространять эти модификации
или разработки на условиях, перечисленных выше, в разделе 1, в том случае,
если будут соблюдены также следующие условия:
2.1 вы обязаны в точности указать, какие файлы были изменены, что именно
было изменено, и проставить дату внесения изменений.
2.2 любые распространяемые или публикуемые вами разработки, которые
включают в себя целиком Программный продукт или какие-либо его части,
сделанные на основе Программного продукта или каких-либо его частей,
Вы должны в обязательном порядке лицензировать на условиях данного
лицензионного соглашения.
|
:)) | |
|
|
|
|
|
|
|
для: Trianon
(13.09.2007 в 11:36)
| | скриптик выше неплохой, но вретли Полина сможет преподу его защитить....
блин можно мой скрипт доработать, стратегия его просто как две копейки
1)1 юзер - 1 ip
2)смотрим был ли этот ip у нас, если нет то прибавляем в файл +1
и всё!!! | |
|
|
|
|
|
|
|
для: Trianon
(13.09.2007 в 11:36)
| | А что не так?.. Свою лицензионную копию меняй как хош..%) | |
|
|
|
|
|
|
|
для: NFR
(13.09.2007 в 16:04)
| | Спасибо вам всем! Зачет!!!!!!!!!
П.С. И между прочим в этом скрипте я практически все поняла!
Кстати у него предупреждение выдается какое то после 5 посетителя.
Не знаю уж почему именно после 5.) | |
|
|
|
|
|
|
|
для: Полина
(14.09.2007 в 18:11)
| | он наверное намекал на оценку пять xD | |
|
|
|
|
|
|
|
для: Полина
(14.09.2007 в 18:11)
| | Поздравляю, в след раз пораньше обращайтесь))
ту NFR:
сдавать преподу работу с лецинзионным соглашением... это ай-ай-ай... | |
|
|
|
|
|
|
|
для: Полина
(14.09.2007 в 18:11)
| | В каком это скрипте при кол-ве посетителей > 5 выдается предупреждение? | |
|
|
|
|
|
|
|
для: Unkind
(14.09.2007 в 20:05)
| | Это просто лицензия истекла наверное :-Р. | |
|
|
|
|
|
|
|
для: Nemezis
(14.09.2007 в 20:19)
| | Триальная версия простейшего счётчика!!!!! (упалпацтул, Nemezis - 5 баллов!!! -> в Юмор) | |
|
|
|
|
|
|
|
для: Valick
(14.09.2007 в 20:26)
| | А что Вы под стулом делаете? | |
|
|
|
|
|
|
|
для: Unkind
(14.09.2007 в 21:50)
| | на самом деле это шутка юмора такая, комплекция не позволяет мне удобно разместиться под стулом... а уж что-то под ним делать в принципе не реально ;-) | |
|
|
|
|
|
|
|
для: Полина
(14.09.2007 в 18:11)
| | Неприятно признавать, но вышел "гнилой" код. Там надо rtrim'ом удалять переводы строк в $time. | |
|
|
|