Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Банер с обсчетом кликов. (http://www.flasher.ru/forum/showthread.php?t=61402)

Stalker_R 03.08.2004 17:58

Банер с обсчетом кликов.
 
Делаю банер с обсчетом кликов. То есть при клике на банер, отправляется переменная на удаленный комп к 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); // и закроем его
}
?>

DED otMOROZ 05.08.2004 17:17

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

Antares 06.08.2004 02:32

Попробуй выдержать паузу в несколько секунд между отправкой данных на сервер и их проверкой.

Штрек 07.08.2004 02:03

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


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

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