Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.08.2014, 00:28
Lampy вне форума Посмотреть профиль Отправить личное сообщение для Lampy Найти все сообщения от Lampy
  № 1  
Ответить с цитированием
Lampy

Регистрация: Feb 2014
Сообщений: 25
По умолчанию Проблема лоадера и БД

Обычным лоадером подгружаю основной файл swf и начинаются проблемы с php скриптами. Я так понимаю ошибка нелепая и из-за неопытности.

Код php скрипта

PHP код:
    <?php
    $db_host
="localhost";       
    
$db_user="****";        
    
$db_password="****";     
    
$db_name "****";    
     
    
    
$app_id '****'
    
$api_secret '****'
     
     
    
$auth_key  $_POST['auth_key'];
    
$viewer_id $_POST['viewer_id'];
     
    
$real_key md5($app_id."_".$viewer_id."_".$api_secret);
    if (
$auth_key == $real_key){
        
// соединение с БД
        
$mysqli = new mysqli($db_host$db_user$db_password$db_name);
     
        if (
mysqli_connect_errno()) {
            
printf("Ошибка соединения: %s\n"mysqli_connect_error());
            exit;
        }
        
$mysqli->set_charset("utf8");
    
 
$stmt $mysqli->prepare("INSERT INTO `stat` (`uid`, `money`, `lvl`, `help`) VALUES (?,`money`, `lvl`, `help`) ;");
        
$stmt->bind_param('i'$viewer_id);
       
        
$stmt->execute();
     
        echo 
"OK";
    }
    
?>
Код, отвечающий за выполнение скрипта

Код AS3:
var insert_loader:URLLoader = new URLLoader();
			var insert_request:URLRequest=new URLRequest("******");
			insert_request.method=URLRequestMethod.POST;
			var insert_vars:URLVariables = new URLVariables();
			insert_vars['auth_key'] = LoaderInfo(root.loaderInfo).parameters.auth_key;
			insert_vars['viewer_id'] = LoaderInfo(root.loaderInfo).parameters.viewer_id;
			insert_request.data = insert_vars;
			insert_loader.load(insert_request);
			insert_loader.addEventListener(Event.COMPLETE, insert_Complete);
Добавлено через 2 часа 38 минут
ни кто не знает?(

Старый 08.08.2014, 09:25
bifidokk вне форума Посмотреть профиль Отправить личное сообщение для bifidokk Найти все сообщения от bifidokk
  № 2  
Ответить с цитированием
bifidokk
 
Аватар для bifidokk

Регистрация: Jan 2011
Сообщений: 200
проблемы-то какие?

Старый 08.08.2014, 12:35
Lampy вне форума Посмотреть профиль Отправить личное сообщение для Lampy Найти все сообщения от Lampy
  № 3  
Ответить с цитированием
Lampy

Регистрация: Feb 2014
Сообщений: 25
не подгружаются данные

Старый 08.08.2014, 12:41
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 4  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
А откуда они должны подгружаться?
У вас запрос не передает никаких данных
PHP код:
"INSERT INTO `stat` (`uid`, `money`, `lvl`, `help`) VALUES (?,`money`, `lvl`, `help`) 
Параметры VALUES в запросе должны быть в кавычках ' ' , а не в ` ` . Да и там должны быть значения. У вас же там называния колонок таблицы.
То есть должно быть примерно так
PHP код:

$money 
30;
$level 2;
$help 'something';
$stmt $mysqli->prepare("INSERT INTO `stat` (`uid`, `money`, `lvl`, `help`) VALUES (?, '$money', '$level', '$help')"); 
Потестируйте свой скрипт просто через браузер, отдельно от флешке. Так проще будет отладить
__________________
Ко мне можно и нужно обращаться на ты)

Старый 08.08.2014, 13:16
Lampy вне форума Посмотреть профиль Отправить личное сообщение для Lampy Найти все сообщения от Lampy
  № 5  
Ответить с цитированием
Lampy

Регистрация: Feb 2014
Сообщений: 25
скрипт работает. При загрузке в контакт приложение работает, но при загрузке через прелоадер, не работает обращение к скриптам.

Старый 08.08.2014, 13:24
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 6  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
При загрузке в контакт приложение работает, но при загрузке через прелоадер, не работает обращение к скриптам.
С этого и надо было начинать. Прелодер находится там же, где и основная флешка? Скорее всего ошибка безопасности. Покажите конструктор прелодера и конструктор основной флешки
__________________
Ко мне можно и нужно обращаться на ты)

Старый 08.08.2014, 13:34
Lampy вне форума Посмотреть профиль Отправить личное сообщение для Lampy Найти все сообщения от Lampy
  № 7  
Ответить с цитированием
Lampy

Регистрация: Feb 2014
Сообщений: 25
Прелоадер я заливаю в контакт, флешка находится на впн. Я так понимаю вся проблема в этом
PHP код:
 $auth_key  $_POST['auth_key'];
    
$viewer_id $_POST['viewer_id'];
     
    
$real_key md5($app_id."_".$viewer_id."_".$api_secret);
    if (
$auth_key == $real_key){ 
но не знаю как её решить.
Вот код прелоадера
Код AS3:
package 
{
	import flash.display.Loader;
	import flash.display.LoaderInfo;
	import flash.display.MovieClip;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.ProgressEvent;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
	import flash.net.URLRequestMethod;
	import flash.net.URLVariables;
	import flash.system.ApplicationDomain;
	import flash.system.LoaderContext;
	import flash.system.SecurityDomain;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.text.TextFormat;
	import flash.net.navigateToURL;
	import flash.events.MouseEvent;
	import flash.system.Security;
 
	/**
	 * ...
	 * @author Lampy
	 */
	public class Main extends Sprite 
	{
 
		private var loadStatus: TextField = new TextField();
		private var loader: Loader = new Loader();
 
		public function Main():void {
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);}
 
		private function init(e:Event = null):void {
			removeEventListener(Event.ADDED_TO_STAGE, init);
 
 
		var context:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain);
		context.securityDomain = SecurityDomain.currentDomain;
 
 
		Security.allowDomain("*");
		Security.allowInsecureDomain("*");
		Security.loadPolicyFile("http://*****.ru/crossdomain.xml");
		Security.loadPolicyFile("http://vk.com/crossdomain.xml");
 
		loader.load(new URLRequest("http://********.swf"));
		loader.contentLoaderInfo.addEventListener(Event.OPEN, displayPreloader);
		loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, OnProgress);
		loader.contentLoaderInfo.addEventListener(Event.COMPLETE, OnComplete); }	
 
		private function displayPreloader(e: Event): void{
			loadStatus.x = 350;
			loadStatus.y = 500
			addChild(loadStatus);}
		private function OnProgress(e: ProgressEvent): void {
			var format:TextFormat = new TextFormat();
			format.font = "Tahoma";
			format.size = 20;
			loadStatus.defaultTextFormat = format;
			loadStatus.text = ((e.bytesLoaded / e.bytesTotal) * 100 ) + "%";}
		private function OnComplete(e: Event): void{
			removeChild(loadStatus);
		addChild(loader);
 
			loader.y = 115;}
 
 
 
 
 
	}
 
}
Добавлено через 35 минут
мои опасения оправдались. Проверил через чарли, так оно и есть. Запрос с подгружаемой флешки идет, но так как флешка залита на впн, оно не может понять какое id приложение и id просматривающего приложения.


Добавлено через 24 часа 11 минут
ни кто не знает?(

Создать новую тему Ответ Часовой пояс GMT +4, время: 06:57.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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