Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 03.08.2004, 17:58
Stalker_R вне форума Посмотреть профиль Отправить личное сообщение для Stalker_R Найти все сообщения от Stalker_R
  № 1  
Stalker_R

Регистрация: Aug 2004
Сообщений: 1
По умолчанию Банер с обсчетом кликов.

Делаю банер с обсчетом кликов. То есть при клике на банер, отправляется переменная на удаленный комп к php файлу. А тот записывает в текстовый файл значение.
Но проблема : когда делается самый первый клик, файл создается и в него записывается 1 , но при следующих кликах в файле ничего не меняется.

Может кто нибудь поймет почему. Я первый раз пишу на Action'е , на php не первый но ошибку допустить могу..
Кстати код был взят из одного примера и интегрирован со всей этой бедой, потому там такие коментарии...

Вот код присвоенный кнопке:

on (release) {

loadVariables("http://www.*******.ru/discocounter.php", this, "POST");

getURL("http://www.********", "_blank");

}


А вот код файла discocounter.php :

<?
$filename = "counter/counter.txt"; // зададим имя файла, который будет хранить нашу великую цифру
$testfile=file_exists($filename); // протестируем наличие этого файла в указаном месте ф-я вернет true/false
if($testfile) // если true, то файл существует, можно с ним работать
{

$fp=fopen($filename,"r+"); // откроем файл ("r+" - говорит о том, что файл открывается на чтение+запись)
if(!$fp)
{
echo "не открывается файл";
exit;
}

flock($fp,1); // заблокируем файл, чтобы два процесса не ввязались в борьбу за обладание им

$counter=file($filename); // запомним содержимое файла в массив $counter
echo $counter[0];
echo "<br>";
$rez=$counter[0]+1;
echo $rez;
echo "<br>";

$wr=fputs($fp,$rez); // и запишем это же содержимое внутрь текстового файла, но прибавив единичку
if(!$wr)
{
echo "не получилось";
exit;
}


$numb = $rez; // тут мы просто запомним "а скока их там всего этих цыфирь"
echo ("&n=$numb&"); // а вот эта строчка и пошлет нужную нам строку во флэш


flock($fp,3); // разблокируем файл
fclose($fp); // закроем его, он нам больше не нужен
}else{
mkdir("counter",0755); // ".. а мне плевать - уходи...я агент 007" создадим дирректорию для файла, в котором будет храниться число (0755 - права доступа)
$fp = fopen($filename,"w+"); // а вот если в наличии файла не оказалось, то провернем такую процедДуру
// откроем файл, но уже на "W+" ' запись, но если файла нет, то скрипт его создаст
fputs($fp, "1"); // запишем туда число 1
fclose($fp); // и закроем его
}
?>


Последний раз редактировалось Stalker_R; 03.08.2004 в 18:05.
Старый 05.08.2004, 17:17
DED otMOROZ вне форума Посмотреть профиль Отправить личное сообщение для DED otMOROZ Найти все сообщения от DED otMOROZ
  № 2  
DED otMOROZ

Регистрация: Dec 2001
Адрес: Москва
Сообщений: 38
По умолчанию вообще это не выход

Flash не успевает отработывать загрузку данных, а сразу переходит на указанную страницу. Надо делать проверку результата. А то что не пишет в файл, а хрен его знает, я в перле не силен.

Старый 06.08.2004, 02:32
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 3  
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Попробуй выдержать паузу в несколько секунд между отправкой данных на сервер и их проверкой.

Старый 07.08.2004, 02:03
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 4  
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Цитирую, сами знаете кого -
"3. если вы хотите проверить работу счетчика в браузере, то скорее всего скрипт закэшируеся
и число у вас будет одно и то же.
Посему обратитесь к нему так
http://www.myhost.ru/dir/counter.swf?anyVar=anyValue"

Создать новую тему   Часовой пояс GMT +4, время: 09:55.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.