imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 24.01.2004, 03:49     # 1
Psionic Vision
Full Member
 
Аватар для Psionic Vision
 
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110

Psionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собой
Как сделать счетчик....

Как сделать счетчик, который будет считать ТОЛЬКО кол-во заходов на какую-либо страницу, причем результаты будут сохраняться в одном и том же файле для всех страниц?


ЗЫ. не торопитесь выдавать предупреждение за "неиспользование поиска". Я поиском пользовался, нашел много похожих тем, но везде обсуждаются только расширенные счетчики - с айпи там и прочим мусором. А мне нужно только количество заходов. Если можно - то с исключением собственных.
Спасибо

Последний раз редактировалось Neo; 24.01.2004 в 03:52.
Psionic Vision вне форума  
Старый 24.01.2004, 04:13     # 2
dESer
Guest
 
Сообщения: n/a

Попробуй это...

Примеры применения PHP

Рассмотрим два простейших практических примера: счётчик загрузок страницы и получение данных с формы. Описание языка и описания функций можно найти на страничке PHP Manual (зеркало на ДВГУ).

Простейший счётчик с отдельным файлом
Принцип работы: считываем значение счётчика из файла, увеличиваем значение на 1, записываем результат в файл, и выводим значение счётчика на экран.
Скрипт:

PHP код:
<?php
// Открываем файл counter.txt в режиме чтения и записи. (у файла должны быть установлены соответствующие разрешения)
$file=fopen("counter.txt""r+");
// Считываем значение из файла (размер значения - до 10 символов)
$counter=fgets($file10);
// Преобразовываем строковое значение в целое число
$counter=intval($counter);
// Увеличиваем значение счётчика на 1
$counter++;
// Устанавливаем указатель на начало файла (иначе новое значение будет добавлено к существующему)
rewind($file);
// Записываем новое значение в файл
fputs($file,$counter);
// Закрываем файл
fclose($file);
// Выводим значение пользователю
echo $counter;
?>
Считывание данных формы
Осуществляется считывание данных с различных элементов формы. После заполнения формы, данные выводятся на экран. Вместо простого вывода можно сделать запись в файл, базу данных, или отослать данные на адрес электронной почты.

В случае с PHP, форма и её обработчик могут быть включены в единственный файл. Одна часть, - HTML форма, вторая, - её обработчик.
Скрипт:
PHP код:
<p>
Простая форма<br>
<form action="form.php" method="POST">
Input text: <input type="Text" name="string"><br>
Radio button 1: <input type="Radio" name="rbutton" value="rb1" checked><br>
Radio button 2: <input type="Radio" name="rbutton"value="rb2"><br>
Checkbox 1: <input type="Checkbox" name="chkbox1" value="chk1"><br>
Checkbox 2: <input type="Checkbox" name="chkbox2">
Multiple select: 
<select name="msel[]" size="3" multiple>
<option value="val1">val1</option>
<option value="val2">val2</option>
<option value="val3">val3</option>
<option value="val4">val4</option>
</select>
<input type="Submit" value="SUBMIT" name="submit">
</form>
</p>
<?php
// Ведём обработку только если форма отправлена методом POST
if ($REQUEST_METHOD=="POST") {
// Объявляем переменные, соответствующие полям формы.
// в принципе, такое явное объявление не обязательно
global $string;
global 
$rbutton;
global 
$chkbox1;
global 
$chkbox2;
global 
$msel;
// Далее - просто вывод введённых данных c разными вариантами включения.
?>
<hr>
Результат:<br>
Input text:
<?php echo $string?>
<br>Radio button: 
<?php
echo $rbutton;
echo 
"<br>Checkbox 1: ";
echo 
$chkbox1;
echo 
"<br>Checkbox 2: ";
// поскольку value для этого элемента не установлено, выводится значение по-умолчанию: on
echo $chkbox2;
echo 
"<br>Multiple select: ";
// Значения multiple select возвращаются как массив
 
for ($i=0$i<4$i++) {
  echo 
' '.$msel[$i];
 };
// Конец обработки формы
};
?>
 
Старый 24.01.2004, 04:19     # 3
Psionic Vision
Full Member
 
Аватар для Psionic Vision
 
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110

Psionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собой
dESer
Молодец! Первый вариант - то, что надо.
Но если я укажу один и тот же файл для всех страниц, будет возникать ошибка доступа или все будет в порядке?
Держи 5

Добавлено через 2 минуты:
ЗЫ. И как сделать, чтобы для каждой страницы создавалась своя строка? Потому как мне надо чтоб счетчик был индивид. для каждой страницы.
Psionic Vision вне форума  
Старый 24.01.2004, 04:20     # 4
hempsmoke
::VIP::
IMHO Молодожен-2006
 
Аватар для hempsmoke
 
Регистрация: 14.06.2002
Адрес: Moscow
Сообщения: 2 921

hempsmoke Отец (мать) всех Гуруhempsmoke Отец (мать) всех Гуруhempsmoke Отец (мать) всех Гуруhempsmoke Отец (мать) всех Гуруhempsmoke Отец (мать) всех Гуруhempsmoke Отец (мать) всех Гуруhempsmoke Отец (мать) всех Гуруhempsmoke Отец (мать) всех Гуруhempsmoke Отец (мать) всех Гуруhempsmoke Отец (мать) всех Гуруhempsmoke Отец (мать) всех Гуруhempsmoke Отец (мать) всех Гуруhempsmoke Отец (мать) всех Гуруhempsmoke Отец (мать) всех Гуруhempsmoke Отец (мать) всех Гуруhempsmoke Отец (мать) всех Гуруhempsmoke Отец (мать) всех Гуруhempsmoke Отец (мать) всех Гуруhempsmoke Отец (мать) всех Гуру
Цитата:
Neo:
все будет в порядке

Последний раз редактировалось hempsmoke; 24.01.2004 в 04:26.
hempsmoke вне форума  
Старый 24.01.2004, 04:33     # 5
Psionic Vision
Full Member
 
Аватар для Psionic Vision
 
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110

Psionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собой
hempsmoke
Но каждая страница будет работать с одной и той же цифрой.
А мне нужно чтоб был один dat или txt файл, и для каждой страницы создавалась отдельная строка?
Psionic Vision вне форума  
Старый 24.01.2004, 04:44     # 6
dESer
Guest
 
Сообщения: n/a

Почитай ещё вот это:
http://compdoc.by.ru/internet/php/countvisit/
Может это и круче и прикольней?
Ну а если не потянешь - то может проще взять из готовых.... woweb.ru, cgi.ru(myweb.u), webscript.ru и т.д.
На готовых и разберёшься... я так начинал.

Удачи.

Добавлено через 7 минут:
Цитата:
Первоначальное сообщение от Neo
hempsmoke
Но каждая страница будет работать с одной и той же цифрой.
А мне нужно чтоб был один dat или txt файл, и для каждой страницы создавалась отдельная строка?
Слишком геморойно ты задумал... Вот куски - ожет что полезного выберешь

Удаляем нужную строку из файла:
PHP код:
<?
$line="1"; # строка, которую нужно удалить

$file=file("my_file.txt");
$open=fopen("my_file.txt","w");

   for($i=0;$i<count($file);$i++)
   {
      if(($i+1)!=$line){fwrite($open,$file[$i]);}
   }

fclose($open); 
?>

Заменяем нужную строку в файле:

PHP код:
<?
$line="1"; # строка, которую нужно изменить
$replace="ля ля ля"; # на что нужно изменить

$file=file("my_file.txt");
$open=fopen("my_file.txt","w");

   for($i=0;$i<count($file);$i++)
   {
      if(($i+1)!=$line){fwrite($open,$file[$i]);}
      else{fwrite($open,$replace."\r\n");}
   }

fclose($open); 
?>
Очищаем файл и добавляем в него строку, если файл не существует, то он создаётся:
PHP код:
<?
$open=fopen("my_file.txt","w+");
fwrite($open,"строка\r\n");
fclose($open); 
?>
Добавляем новую строку в конец файла:

PHP код:
<?
$open=fopen("my_file.txt","a");
fwrite($open,"новая строка\r\n");
fclose($open); 
?>
Подсчитываем количество строк в файле:

PHP код:
<?
$file=file("my_file.txt");
$count=count($file);
echo $count; 
?>
Этого должно хватить
 
Старый 24.01.2004, 04:52     # 7
Psionic Vision
Full Member
 
Аватар для Psionic Vision
 
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110

Psionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собой
dESer
Спасибо, щас буду разбираться
Psionic Vision вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 02:27.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.