Просто подскажите- api и mysql

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)

Просто подскажите- api и mysql

Сообщение Gouk » 12 авг 2012, 00:03

Привет всем!
Подскажите пожалуйста
Например: человек зашел в приложение, определился его id, и записался в бд.
Подскажите код php, и as3
Gouk

 
Автор темы
Сообщения: 37
Зарегистрирован: 09 авг 2012, 03:30
Благодарил (а): 9 раз.
Поблагодарили: 0 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Просто подскажите- api и mysql

Сообщение Alazaur » 12 авг 2012, 01:28

Создаете в базе таблицу этим SQL запросом:
  1. CREATE TABLE users (
  2. userid INT(11) NOT NULL AUTO_INCREMENT,
  3. PRIMARY KEY (userid)
  4. );


На сервер скрипт со следующим содержимым (кодировка файла должна быть UTF-8 без BOM):
  1. <?php
  2. header("Content-Type: text/html; charset=utf-8");
  3. $dbhost = "localhost"; //Хост БД
  4. $dbname = "xxxxxxx"; //Имя БД
  5. $dbuser = "xxxxxxx"; //Пользователь БД
  6. $dbpass = "xxxxxxx";//Пароль к БД
  7. $app_id = 1111111;//ID приложения
  8. $api_secret = "xxxxxxxxxxxxxxxxxxxxxx"; //Секретный ключ приложения
  9.  
  10.  
  11. $viewer_id = (int)$_POST['userid'];//Пользователь который сделал запрос к скрипту (менять не надо)
  12. $authKey= md5($app_id."_".$viewer_id."_".$api_secret);//Auth key (менять не надо)
  13.  
  14.  
  15.  
  16. mysql_connect($dbhost, $dbuser, $dbpass);
  17. mysql_select_db($dbname);
  18. mysql_set_charset('utf8');
  19. if(mysql_result(mysql_query("SELECT COUNT(*) FROM users WHERE userid = ".$viewer_id),0)) exit("Пользователь уже зарегистрирован");
  20. else {
  21.     if(mysql_query("INSERT INTO users SET userid = ".$viewer_id)) exit("Пользователь успешно зарегистрирован");
  22.     else exit("При регистрации возникла ошибка");
  23. }
  24. ?>


Ну и во flash
  1. package
  2. {
  3.     import flash.events.Event;
  4.     import flash.net.*;
  5.     import flash.display.*;
  6.  
  7.     public class Main extends Sprite
  8.     {
  9.         public function Main():void
  10.         {
  11.             var flashVars:Object = stage.loaderInfo.parameters as Object;
  12.             var loader:URLLoader = new URLLoader();
  13.             var request:URLRequest = new URLRequest("http://ваш-сайт.ру/скрипт.php");
  14.             request.method = URLRequestMethod.POST;
  15.             var vars:URLVariables = new URLVariables();
  16.             vars['userid'] = flashVars['viewer_id'];
  17.             request.data = vars;
  18.             loader.addEventListener(Event.COMPLETE, loaded);
  19.             loader.load(request);
  20.         }
  21.        
  22.         private function loaded(e:Event):void
  23.         {
  24.             trace(e.target.data);
  25.         }
  26.     }
  27. }

Вот в этой теме где у вас не получилось topic165.html в принципе все тоже самое. За исключением что там уже протестировано и работает, а здесь я на коленке по-быстрому написал и есс-но не тестировал)))

За это сообщение автора Alazaur поблагодарил:
Gouk
Alazaur
Разработчик
Разработчик
 
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25
Благодарил (а): 24 раз.
Поблагодарили: 121 раз.

Re: Просто подскажите- api и mysql

Сообщение Serge » 12 авг 2012, 07:41

http://sevenlines.com.ua - разработка и продвижение сайтов
Serge
WEB Team
WEB Team
 
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55
Благодарил (а): 2 раз.
Поблагодарили: 65 раз.

Re: Просто подскажите- api и mysql

Сообщение Alazaur » 12 авг 2012, 10:41

Serge
ну да не обязательно в данном случае, это я на автомате написал :D привычка что поделать
Alazaur
Разработчик
Разработчик
 
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25
Благодарил (а): 24 раз.
Поблагодарили: 121 раз.

Re: Просто подскажите- api и mysql

Сообщение wypaa » 12 авг 2012, 12:46

Как сделать для IFrame
wypaa

 
Сообщения: 63
Зарегистрирован: 26 ноя 2010, 21:21
Благодарил (а): 2 раз.
Поблагодарили: 3 раз.

Re: Просто подскажите- api и mysql

Сообщение Alazaur » 12 авг 2012, 14:00

wypaa
вот же topic753.html нового я все равно ничего не напишу) От изменения имен переменных смысл кода не меняется.
Alazaur
Разработчик
Разработчик
 
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25
Благодарил (а): 24 раз.
Поблагодарили: 121 раз.

Re: Просто подскажите- api и mysql

Сообщение Gouk » 12 авг 2012, 15:53

Alazaur писал(а):Создаете в базе таблицу этим SQL запросом:
  1. CREATE TABLE users (
  2. userid INT(11) NOT NULL AUTO_INCREMENT,
  3. PRIMARY KEY (userid)
  4. );


На сервер скрипт со следующим содержимым (кодировка файла должна быть UTF-8 без BOM):
  1. <?php
  2. header("Content-Type: text/html; charset=utf-8");
  3. $dbhost = "localhost"; //Хост БД
  4. $dbname = "xxxxxxx"; //Имя БД
  5. $dbuser = "xxxxxxx"; //Пользователь БД
  6. $dbpass = "xxxxxxx";//Пароль к БД
  7. $app_id = 1111111;//ID приложения
  8. $api_secret = "xxxxxxxxxxxxxxxxxxxxxx"; //Секретный ключ приложения
  9.  
  10.  
  11. $viewer_id = (int)$_POST['userid'];//Пользователь который сделал запрос к скрипту (менять не надо)
  12. $authKey= md5($app_id."_".$viewer_id."_".$api_secret);//Auth key (менять не надо)
  13.  
  14.  
  15.  
  16. mysql_connect($dbhost, $dbuser, $dbpass);
  17. mysql_select_db($dbname);
  18. mysql_set_charset('utf8');
  19. if(mysql_result(mysql_query("SELECT COUNT(*) FROM users WHERE userid = ".$viewer_id),0)) exit("Пользователь уже зарегистрирован");
  20. else {
  21.     if(mysql_query("INSERT INTO users SET userid = ".$viewer_id)) exit("Пользователь успешно зарегистрирован");
  22.     else exit("При регистрации возникла ошибка");
  23. }
  24. ?>


Ну и во flash
  1. package
  2. {
  3.     import flash.events.Event;
  4.     import flash.net.*;
  5.     import flash.display.*;
  6.  
  7.     public class Main extends Sprite
  8.     {
  9.         public function Main():void
  10.         {
  11.             var flashVars:Object = stage.loaderInfo.parameters as Object;
  12.             var loader:URLLoader = new URLLoader();
  13.             var request:URLRequest = new URLRequest("http://ваш-сайт.ру/скрипт.php");
  14.             request.method = URLRequestMethod.POST;
  15.             var vars:URLVariables = new URLVariables();
  16.             vars['userid'] = flashVars['viewer_id'];
  17.             request.data = vars;
  18.             loader.addEventListener(Event.COMPLETE, loaded);
  19.             loader.load(request);
  20.         }
  21.        
  22.         private function loaded(e:Event):void
  23.         {
  24.             trace(e.target.data);
  25.         }
  26.     }
  27. }

Вот в этой теме где у вас не получилось topic165.html в принципе все тоже самое. За исключением что там уже протестировано и работает, а здесь я на коленке по-быстрому написал и есс-но не тестировал)))

Моя благодарность Вам! Я знал что вы поможете :)
Gouk

 
Автор темы
Сообщения: 37
Зарегистрирован: 09 авг 2012, 03:30
Благодарил (а): 9 раз.
Поблагодарили: 0 раз.

Re: Просто подскажите- api и mysql

Сообщение Gouk » 12 авг 2012, 16:12

Проблемка всё та же. Когда захожу в приложение, не записывает в бд. Что может быть? А когда просто захожу туда: http://ваш-сайт.ру/скрипт.php , то записывает, пишет: пользователь успешно зарегистрирован!
Gouk

 
Автор темы
Сообщения: 37
Зарегистрирован: 09 авг 2012, 03:30
Благодарил (а): 9 раз.
Поблагодарили: 0 раз.

Re: Просто подскажите- api и mysql

Сообщение Gouk » 12 авг 2012, 16:15

кое что передал, но пишет теперь такую вот хрень: main.as, строка 298 Warning: 3596: Повторное определение переменной.
строка 298:
  1. var flashVars:Object = stage.loaderInfo.parameters as Object;
Gouk

 
Автор темы
Сообщения: 37
Зарегистрирован: 09 авг 2012, 03:30
Благодарил (а): 9 раз.
Поблагодарили: 0 раз.

Re: Просто подскажите- api и mysql

Сообщение Gouk » 12 авг 2012, 16:17

хахаха, всё сам разобрался)) спасибо!
Gouk

 
Автор темы
Сообщения: 37
Зарегистрирован: 09 авг 2012, 03:30
Благодарил (а): 9 раз.
Поблагодарили: 0 раз.

След.

Вернуться в Создание Flash-приложений ВКонтакте



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0