![]() |
|
||||||||||
|
|||||
|
Регистрация: 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. |
|
|||||
|
Регистрация: Dec 2001
Адрес: Москва
Сообщений: 38
|
Flash не успевает отработывать загрузку данных, а сразу переходит на указанную страницу. Надо делать проверку результата. А то что не пишет в файл, а хрен его знает, я в перле не силен.
|
|
|||||
|
Banned
[+1 16.05.2006]
[++1 16.05.2006] [+ 1 21.05.06] [++ за хамство] [+1 21.05.2006] Регистрация: Dec 2003
Сообщений: 3,925
|
Попробуй выдержать паузу в несколько секунд между отправкой данных на сервер и их проверкой.
|
|
|||||
|
Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
|
Цитирую, сами знаете кого -
"3. если вы хотите проверить работу счетчика в браузере, то скорее всего скрипт закэшируеся и число у вас будет одно и то же. Посему обратитесь к нему так http://www.myhost.ru/dir/counter.swf?anyVar=anyValue" |
![]() |
Часовой пояс GMT +4, время: 09:55. |
|
|
« Предыдущая тема | Следующая тема » |
|
|