Программирование на Action Script 3, в среде Adobe Flash CS4.
Программирование на PHP, в чём угодно, можно даже в блокноте.
Понадобится свой сервер с поддержкой php и mySQL.
Серверная часть
1. Заходим в phpMyAdmin.
Если не знаете как зайти в phpMyAdmin, то почитайте инструкции вашего хостера.
2. Переходим на вкладку SQL, и там где написано "Выполнить SQL-запрос(ы) к базе данных" пишем запрос, создающий базу:
- CREATE TABLE IF NOT EXISTS `stat` (
- `id` int(9) auto_increment,
- `uid` int(9),
- `last_date` int(10),
- `visits` int(9) default '1',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uid` (`uid`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Нажимаем ОК.
uid - ID пользователя
last_date - дата последнего посещения
visits - количество посещений
3. Создаём новый php-файл.
Можно открыть блокнот и написать этот код в нём.
- <?php
- // данные доступа к базе данных
- $db_host="localhost"; // обычно не нужно изменять
- $db_user="user"; // имя пользователя БД
- $db_password="pass"; // пароль БД
- $db_name = "name"; // имя БД
- $table_name = "stat"; // имя таблицы статистики. Если вы не меняли его в запросе, создающем БД, то и здесь менять его не надо
- // данные приложения
- $app_id = '743131'; // id приложения
- $api_secret = 'qwertyuiopasdfghjklzxcvbnm'; // защищенный ключ приложения
- $auth_key = $_POST['auth_key'];
- $viewer_id = $_POST['viewer_id'];
- $real_key = md5($app_id."_".$viewer_id."_".$api_secret);
- if ($auth_key == $real_key){
- // соединение с БД
- mysql_connect($db_host, $db_user, $db_password) or die (mysql_error());
- mysql_select_db($db_name) or die (mysql_error());
- mysql_query("SET NAMES 'utf8'");
- // Выполняем запрос: если пользователя с таким id ещё нет в БД, то добавляем, если есть, то обновляем запись, прибавляя одно посещение (`visits` = (`visits`+1))
- $query = 'INSERT INTO `'.$table_name.'` (`uid`, `last_date`) VALUES ("'.$viewer_id.'","'.time().'") ON DUPLICATE KEY UPDATE `visits` = (`visits`+1), `last_date`="'.time().'";';
- $sql = mysql_query($query);
- echo "OK";
- }
- ?>
Сохраняем этот файл как stat.php
Код прокомментирован. Если вам что-то не понятно, то можете спросить в этой теме.
Если вам ничего непонятно, то это значит, что вы просто не знаете PHP. Тогда используйте этот код без понимания, или начните учить PHP с чего-то более простого.
4. Если вы ещё не создавали crossdomain.xml и не загружали его на свой хостинг, то открываем блокнот, пишем в него код:
- <cross-domain-policy>
- <allow-access-from domain="*.vkontakte.ru" />
- <allow-access-from domain="*.vk.com" />
- </cross-domain-policy>
Сохраняем как crossdomain.xml
5. Загружаем файлы на сервер.
stat.php загружаем в любой каталог на сервере, crossdomain.xml - в корневой каталог сайта.
Приложение
1. Создаём новый документ AS3 и новый Main.as файл. Связываем их.
Если вы не знаете как подключить Main.as, то посмотрите как это было сделано в этом уроке topic9.html (Пункт 7).
2. В файле Main.as пишем код:
- package {
- import flash.net.*;
- import flash.display.*;
- public class Main extends Sprite {
- public function Main():void {
- // создание запроса
- var stat_loader:URLLoader = new URLLoader();
- var stat_request:URLRequest=new URLRequest("http://flapps.ru/stat.php");// заменяем на ссылку к вашему скрипту
- stat_request.method=URLRequestMethod.POST;
- // добавление параметров в запрос
- var stat_vars:URLVariables = new URLVariables();
- stat_vars['auth_key']=LoaderInfo(root.loaderInfo).parameters.auth_key;// auth_key из FlashVars
- stat_vars['viewer_id']=LoaderInfo(root.loaderInfo).parameters.viewer_id;// ID просматривающего приложение
- stat_request.data=stat_vars;
- // выполнение запроса
- stat_loader.load(stat_request);
- }
- }
- }
3. Создаём swf файл и загружаем его в контакт.
4. Проверяем настройки приложения.
Контейнер приложения: Без использования контейнера.
5. Проверяем как работает приложение.
Открываем его в браузере, ждем несколько секунд.
Заходим в phpMyAdmin, смотрим записи в созданной ранее таблице "stat". Если вы всё сделали верно, то увидите новую запись: Ваш id, дату посещения в UNIXTIME и количество посещений (1).
Можете ещё раз открыть приложение в браузере или обновить страничку с ним и посмотреть как обновится количество визитов в базе.
Исходник приложения с серверной частью Чтобы увидеть ссылку - зарегистрируйтесь


