Добавление в БД пользователей, посетивших приложение

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

Добавление в БД пользователей, посетивших приложение

Сообщение Vladi4ak » 13 сен 2014, 13:36

Всем привет. Я более, чем новичок в создании приложений. И у меня есть приложение (оно создано по шаблону и разрабатывал его не я). Оно не нуждается в одобрении и прочем. Добавлено в вк для ограниченного круга лиц. НО! Нужен скрипт ему по добавлению в БД тех людей, которые добавили приложение. Я такой нашел, но не могу понять, куда его впихнуть нужно. Вставляю его в начало хтмл-странички - и приложение уже выдает просто белый экран. Делал отдельный пхп файл с этим скриптом и добавлял его как приложение в вк, для проверки. Зашел в приложение - получил ответ и меня добавило в БД. Делал редирект после скрипта - редирект не срабатывал. Вот, собственно, решил спросить здесь:
Есть приложение, исполняющим файлом которого есть, допустим хтмл-файл.
Есть скрипт, который должен срабатывать при открытии этого файла.
Как это сделать? Исходники:
  1. <?php
  2.     // данные доступа к базе данных
  3.     $db_host="localhost"; // обычно не нуvladжно изменять
  4.     $db_user="атата"; // имя пользователя БД
  5.     $db_password="атата"; // пароль БД
  6.     $db_name = "атата"; // имя БД
  7.     $table_name = "атата"; // имя таблицы статистики. Если вы не меняли его в запросе, создающем БД, то и здесь менять его не надо
  8.  
  9. // данные приложения
  10.     $app_id = 'атата'; // id приложения
  11.     $api_secret = 'атата'; // защищенный ключ приложения с вкладки платежи
  12.  
  13. $auth_key = $_GET['auth_key'];
  14.     $viewer_id = $_GET['viewer_id'];
  15.  
  16. $real_key = md5($app_id."_".$viewer_id."_".$api_secret);
  17.     if ($auth_key == $real_key){
  18.        // соединение с БД
  19.        mysql_connect($db_host, $db_user, $db_password) or die);
  20.        mysql_select_db($db_name) or die );
  21.        mysql_query("SET NAMES 'utf8'");
  22.         if (mysql_result(mysql_query("SELECT * FROM  `'.$table_name.'` WHERE uid = '".$viewer_id."'")))
  23.                 {
  24.                 mysql_query ("UPDАTЕ visits = ('visits'+1), last_date='".time()."' ");
  25.                 }
  26.         else
  27.                 {
  28.        $query =  "INSERT INTO stat SET uid = '".$viewer_id."', last_date = '".time()."'";
  29.        $sql = @mysql_query($query);
  30.                 }
  31.     }
  32.                     ?>


И вот хтмл:
 
  1.  
  2. <!DOCTYPE html>
  3.   <head>
  4.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5.                 <script type="text/javascript" src="files/js/swfobject.js"></script>
  6.                 <script type="text/javascript" src="files/js/swfaddress.js"></script>
  7.  
  8.  
  9.     <script type="text/javascript">
  10.       var assetsFolder = 'res';
  11.       var mobileFolder = 'mobile';
  12.  
  13.       var changeURL = function(){
  14.         if(document.getElementById('hrefMobile'))document.getElementById('hrefMobile').href =dir+mobileFolder+'/index.html';
  15.         delete changeURL;
  16.       }
  17.       if (document.addEventListener){
  18.         document.addEventListener("DOMContentLoaded", changeURL, false);
  19.       } else {
  20.         document.attachEvent("onDOMContentLoaded", changeURL);
  21.       }
  22.  
  23.         function getURLParam()
  24.         {
  25.             var returnObject = {};
  26.       var href = window.location.href;
  27.       if ( href.indexOf("?") > -1 )
  28.       {
  29.                 var param = href.substr(href.indexOf("?"));
  30.                 var arrayParam = param.split("&");
  31.      
  32.                 for ( var i = 0; i < arrayParam.length; i++ )
  33.                 {
  34.                     var value = arrayParam[i].split("=");
  35.                     returnObject[value[0]] = value[1];
  36.                 }
  37.             }
  38.             returnObject['res'] = assetsFolder;
  39.             return returnObject;
  40.         }
  41.        
  42.         var dir = "./files/";
  43.    
  44.          var getURI = function(){
  45.                 var URIArray = document.location.href.split('/');
  46.        
  47.                  URIArray.length = URIArray.length-1;
  48.                 var URIstr = URIArray.join('/');
  49.        
  50.                 URIArray = null;
  51.        
  52.                 var URIarr = dir.split('/');
  53.                 URIarr[0] = URIarr[0]=='.'?'':URIarr[0];
  54.                 var dirStr = URIarr.join('/');
  55.        
  56.                 URIstr = URIstr+dirStr;
  57.  
  58.             return URIstr;
  59.             }
  60.            
  61.           var ua = navigator.userAgent.toLowerCase(),
  62.           platform = navigator.platform.toLowerCase(),
  63.           UA = ua.match(/(opera|ie|firefox|chrome|version)[\s\/:]([\w\d\.]+)?.*?(safari|version[\s\/:]([\w\d\.]+)|$)/) || [null, 'unknown', 0],
  64.           mode = UA[1] == 'ie' && document.documentMode;
  65.  
  66.           var Browser = {
  67.           extend: Function.prototype.extend,
  68.           name: (UA[1] == 'version') ? UA[3] : UA[1],
  69.           version: mode || parseFloat((UA[1] == 'opera' && UA[4]) ? UA[4] : UA[2]),
  70.           Platform: {
  71.           name: ua.match(/ip(?:ad|od|hone)/) ? 'ios' : (ua.match(/(?:webos|android|bada|symbian|palm|blackberry)/) || platform.match(/mac|win|linux/) || ['other'])[0]
  72.           },
  73.           Features: {
  74.           xpath: !!(document.evaluate),
  75.           air: !!(window.runtime),
  76.           query: !!(document.querySelector),
  77.           json: !!(window.JSON)
  78.           },
  79.           Plugins: {}
  80.           };
  81.        
  82.           var page = parseInt(window.location.hash.substring(2, window.location.hash.length-1));
  83.           page = page?'#'+page:'';
  84.           if(Browser.Platform.name == 'android' || Browser.Platform.name == 'ios') window.location =dir+mobileFolder+"/index.html"+page;
  85.    
  86.         var dir = "./files/";
  87.         var jsfolder = "js/";
  88.         var swffile = "atata.swf";
  89.        
  90.             var flashvars = {};
  91.             var params = {
  92.                 menu: "false",
  93.                 scale: "noScale",
  94.                 allowfullscreen: "true",
  95.                 allowscriptaccess: "always",
  96.                 bgcolor: "#ffffff",
  97.                 wmode:"transparent"
  98.             };
  99.             var attributes = {id: "magazine"};
  100.             swfobject.embedSWF(dir+swffile, "magazine", "100%", "100%", "9.0.0", dir+jsfolder+"atata.swf", flashvars, params, attributes);
  101.           </script>
  102.          
  103.   </head>
  104. <body style="padding: 0px; margin: 0px; height:100%; width:100%;">
  105.     <div id="atata">
  106.         <h1>Requires FlashPlayer</h1>
  107.         <p><a href="http://get.adobe.com/flashplayer/"><img src="http://www.adobe.com/images/shared/download_buttons/get_adobe_flash_player.png" alt="Get Adobe Flash Player"/></a></p>
  108.         <p>Please try the above link first. If you still encounter problems after installing the Flash Player, try this one:</p>
  109.         <p><a href="http://get.adobe.com/shockwave/"><img src="http://www.adobe.com/images/shared/download_buttons/get_adobe_shockwave_player.png" alt="Get Adobe Shockwave Player"/></a></p>
  110.         <p><a id="hrefMobile" href="files/mobile/index.html">Mobile version</a></p>
  111.     <p><a href="atata/">atata</a></p>
  112.     </div>
  113.   </body>
  114. </html>
  115.  
  116.  

За это сообщение автора Vladi4ak поблагодарил:
lmvt
Vladi4ak

 
Автор темы
Сообщения: 1
Зарегистрирован: 07 сен 2014, 12:59
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

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

Google
 



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



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

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

cron