Суббота, 27 Апреля 2024, 02:30

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Движки для разработки игр и сложные системы разработки » Движки для браузерных игр » Урок по созданию браузерной игры № 3 (II этап регистрации (php, FD, MySQL))
Урок по созданию браузерной игры № 3
GulnaraДата: Вторник, 26 Января 2010, 23:03 | Сообщение # 61
был не раз
Сейчас нет на сайте
Running process: C:\игры\журналы\Для игр\прога\Tools\fdbuild\fdbuild.exe "C:\игры\журналы\Для игр\создать чара\CreateChar\CreateChar.as3proj" -ipc 02447afd-714a-467d-a3a4-3ed7ad20210f -compiler "C:\игры\журналы\Для игр\прога\flex_sdk_3.4.0.6955_mpl" -library "C:\игры\журналы\Для игр\прога\Library" -cp "C:\игры\журналы\Для игр\прога\flex_sdk_3.4.0.6955_mpl"
Using the Flex Compiler Shell.
Building CreateChar
mxmlc -load-config+=obj\CreateCharConfig.xml -debug=true -incremental=true -benchmark=false -o obj\CreateChar633999580587500000
Incremental compile of 1
Loading configuration file C:\игры\журналы\Для игр\прога\flex_sdk_3.4.0.6955_mpl\frameworks\flex-config.xml
Loading configuration file C:\игры\журналы\Для игр\создать чара\CreateChar\obj\CreateCharConfig.xml
Nothing has changed since the last compile. Skip...
obj\CreateChar633999580587500000 (463619 bytes)
(fcsh)
Build succeeded
Done (0)
[Failed to launch FBD]
Указанному файлу не сопоставлено ни одно приложение для выполнения данной операции

Что это значит?

Добавлено (26.01.2010, 23:03)
---------------------------------------------
Ответьте кто-нибудь пожалуйста

AssasinДата: Среда, 27 Января 2010, 17:26 | Сообщение # 62
web-coder
Сейчас нет на сайте
Gulnara, клик
wtbgДата: Четверг, 28 Января 2010, 02:16 | Сообщение # 63
был не раз
Сейчас нет на сайте
Quote (Gulnara)
Указанному файлу не сопоставлено ни одно приложение для выполнения данной операции

Если я правильно понял, то у вас с расширением swf ни ассоциировано приложение, то есть ФД не знает в чем его открыть.

Для того чтобы ассоциировать, необходимо открыть этот файл из проводника, должно появиться окно "Выбор программы" и в этом окне необходимо указать приложение: либо какой-нибудь браузер, либо флеш плейер.

Сообщение отредактировал wtbg - Четверг, 28 Января 2010, 02:16
GulnaraДата: Четверг, 28 Января 2010, 21:25 | Сообщение # 64
был не раз
Сейчас нет на сайте
Quote
Указанному файлу не сопоставлено ни одно приложение для выполнения данной операции

уже не пишет, но [Failed to launch FBD] все равно выдает, то что было предложено Assasin не помогло. (((

Добавлено (28.01.2010, 21:25)
---------------------------------------------
No process is associated with this object.

at System.Diagnostics.Process.EnsureState(State state)
at System.Diagnostics.Process.get_HasExited()
at AS3Context.Compiler.FdbWrapper.Cleanup()
at AS3Context.Compiler.FlexDebugger.Stop()
at AS3Context.PluginMain.Dispose()
at FlashDevelop.Utilities.PluginServices.DisposePlugins()

это пишется при закрытии FD

tuskyshkaДата: Пятница, 29 Января 2010, 00:44 | Сообщение # 65
уже был
Сейчас нет на сайте
как сделать, чтоб в браузере русский текст отображался по русски!
после того как я заменил это charset=windows-1251 на это charset=utf-8 не отображается больше.
wtbgДата: Пятница, 29 Января 2010, 02:34 | Сообщение # 66
был не раз
Сейчас нет на сайте
Quote (tuskyshka)
как сделать, чтоб в браузере русский текст отображался по русски!
после того как я заменил это charset=windows-1251 на это charset=utf-8 не отображается больше.

Поменять кодировку файлов php на utf-8
tuskyshkaДата: Пятница, 29 Января 2010, 15:21 | Сообщение # 67
уже был
Сейчас нет на сайте
Quote (wtbg)
Поменять кодировку файлов php на utf-8

поменина - это не помогает..
KelbornДата: Суббота, 30 Января 2010, 22:48 | Сообщение # 68
уже был
Сейчас нет на сайте
Ассасин, ну что ж это за такая многострадальная вкладка Design View? Будьте так добры - объясните, в чем еще может быть проблема, что она у меня не появлятеся?
AssasinДата: Воскресенье, 31 Января 2010, 01:04 | Сообщение # 69
web-coder
Сейчас нет на сайте
Quote (Kelborn)
Ассасин, ну что ж это за такая многострадальная вкладка Design View? Будьте так добры - объясните, в чем еще может быть проблема, что она у меня не появлятеся?

В неправильной настройке путей sdk.
GulnaraДата: Воскресенье, 31 Января 2010, 21:38 | Сообщение # 70
был не раз
Сейчас нет на сайте
reg

Quote
<?php
session_start();

@include("config.inc.php");
@include("functions.inc.php");
//Необходимо подключиться к БД
$link = mysql_connect($DBSERVER, $DBUSER, $DBPASS)
or die("Не могу подключиться" );
// сделать $DB текущей базой данных
mysql_select_db($DB, $link) or die ('Не могу выбрать БД');

if(!$_POST['do'] OR $_POST['do'] =='') {
//Генерируем шестизначный ключ для капчи
if($_SESSION['uid'] =='') { $_SESSION['uid'] = mt_rand(100000,999999); }

//Выводим форму
echo '<html><head><title>Регистрация</title></head><body>';
echo'<form action="" method="POST">';
echo 'Желаемый ник: <input name="nick" type="text" value=""><br/>';
echo 'Пароль: <input name="pass" type="password" value=""><br/>';
echo 'Ещё раз пароль: <input name="rpass" type="password" value=""><br/>';
echo 'Эл.адрес <input name="mail" type="text" value=""><br/>';
echo '<img src="img/capcha.php?sid='.$_SESSION['uid'].'"/> <br/><input name="sid" type="text" value=""><br/><br/>';
echo '<input name="do" type="submit" value="зарегистрировать">';
echo '</form></body></html>';

}
//Если данные отправлены
if($_POST['do'] !='') {
//Начинаем проверять входящие данные
if($_POST['sid'] == $_SESSION['uid']) {

//Создаем запрос к базе для проверки существования Пользователя

$nick = $_POST['nick'];
mysql_query("SELECT * FROM users WHERE nick='".strtolower($nick)."'");

//Проверка результата запроса

if(mysql_affected_rows()==0) {
//Проверка ввведенных паролей

if($_POST['pass'] !='' AND $_POST['rpass'] !='' AND $_POST['pass'] === $_POST['rpass']){
//Проверяем на валидность электронный адрес
if(checkmail($_POST['mail']) !== -1) {

//Осуществляем регистарацию
//Генерируем uniq_id
$uniq_id = md5($_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT'].mktime());
$pass = $_POST['pass'];
$email = $_POST['mail'];
//Создаем запрос для записи данных в БД
$r = @mysql_query("INSERT INTO users VALUES(NULL,'".strtolower($nick)."','".md5($pass)."','".$email."','".$uniq_id."',0,'".date("dmY")."','".date("dmY")."')");

//После запроса отправляем письмо юзеру, для активации аккаунта
if($r) {

// Для отправки e-mail в виде HTML устанавливаем необходимый mime-тип и кодировку
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=windows-1251' . "\r\n";

// Откуда пришло
$headers .= 'From:Сайт %sitename%' . "\r\n";

//Здесь укажите электронный адрес, куда будут уходить сообщения
$mailto = $email;
$subject = "Подтверждение регистарции на сайте";
$message = 'Для активации аккаунта пройдите по следующей ссылке <a href="http://АДРЕС_САЙТА/registration.php?

activation='.$uniq_id.'" target="_blank">http://АДРЕС_САЙТА/registration.php?activation='.$uniq_id.'</a>';
$message .= 'или скопируйте ссылку в окно ввода адреса браузера и нажмите enter.';
//Отправляем сообщение
if(sendmail($mailto,$subject,$message,$headers) !== FALSE) {
echo 'Регистрация завершена, на введеный Вами e-mail было отправлено сообщение для активации аккаунта';
}
else {echo 'Регистрация невозможна: Повторите запрос позднее';}
}
else {echo 'Регистрация невозможна: Повторите запрос позднее';}
}
else {echo 'Регистрация невозможна: Электронный адрес должен соответствовать шаблону <b>name@domen.com</b><br/><a

href="registration.php"/>назад</a>';}

}
else {echo 'Регистрация невозможна: Введенные пароли не совпадают<br/><a href="registration.php"/>назад</a>';}

}
else { echo 'Регистрация невозможна: Пользователь с таким именем уже существует<br/><a href="registration.php"/>назад</a>';}

session_destroy();
}
else { echo 'Регистрация невозможна: код подтверждения введен не верно<br/><a href="registration.php"/>назад</a>';}

}
//Модуль отвечающий за активацию аккаунта

if($_GET['activation'] AND $_GET['activation']!='') {

$uniq_id = $_GET['activation'];
//Создаем запрос
$r=@mysql_query("UPDATE users SET status=1 WHERE uniq_id='".$uniq_id."' AND status=0");
if($r) {echo '<h2>Ваша учетная запись активирована.</h2><br/> Теперь вы можете <a href="index.php">войти на сайт</a> используя данные

указанные при регистрации';}

else {echo 'Активация невозможна: профиль уже активирован';}

}
?>


выдает регистрация невозможна, попробуйте позднее

Где ошибка?

wtbgДата: Понедельник, 01 Февраля 2010, 03:13 | Сообщение # 71
был не раз
Сейчас нет на сайте
Quote (Gulnara)
выдает регистрация невозможна, попробуйте позднее

Где ошибка?

1 Где был взят этот рег?
2 Проверь таблицу users, сколько в нем полей и какого они типа

Code
@mysql_query("INSERT INTO users VALUES(NULL,'".strtolower($nick)."','".md5($pass)."','".$email."','".$uniq_id."',0,'".date("dmY")."','".date("dmY")."')");
?
3 Настроен ли у тебя sendmail? перед этим погляди пишутся ли в таблицу users данные?
GulnaraДата: Понедельник, 01 Февраля 2010, 13:10 | Сообщение # 72
был не раз
Сейчас нет на сайте
Все проблему решила. Проблема бала в БД. Спасибо.
AloneZelДата: Вторник, 02 Февраля 2010, 21:05 | Сообщение # 73
уже был
Сейчас нет на сайте
Здравствуйте подскажите в чем может быть проблема, при нажатии на компилирования в FD пишит вот это:
Running process: D:\Programs\WebServer\FlashDevelop\Tools\fdbuild\fdbuild.exe "D:\Programs\WebServer\PROJECT\CreateChar\CreateChar.as3proj" -ipc 5a6091b4-ee8e-4098-8f4d-dde6ceeaba19 -compiler "D:\Programs\WebServer\FlashDevelop\SDK" -library "D:\Programs\WebServer\FlashDevelop\Library" -cp "D:\Programs\WebServer\FlashDevelop\SDK\frameworks\projects\framework\src"
Using the Flex Compiler Shell.
Building CreateChar
mxmlc -load-config+=obj\CreateCharConfig.xml -debug=true -incremental=true -benchmark=false -o obj\CreateChar634007412445315306
INITIALIZING: Failed, unable to run compiler

Unable to start java.exe: Не удается найти указанный файл
Could not compile because the fcsh process could not be started.
Build halted with errors (fcsh).

Done (1)

Жава установлена
Все делал как писал Assasin

AssasinДата: Среда, 03 Февраля 2010, 15:07 | Сообщение # 74
web-coder
Сейчас нет на сайте
AloneZel, Попробуй установить Microsoft .NET 1.1 SP1 framework и переустановить JRE.
netkillerДата: Среда, 03 Февраля 2010, 15:59 | Сообщение # 75
Developing Vader
Сейчас нет на сайте
Quote (Assasin)
Microsoft .NET 1.1 SP1 framework

старьёёёё!!щас уже есть (давно) NET 3.5,а недавно появился NET 4 Beta 2
AloneZel, кажется у тебя нет JRE



Мой туториал по UDK:
Создание простого платформера
niker_666Дата: Пятница, 05 Февраля 2010, 00:54 | Сообщение # 76
уже был
Сейчас нет на сайте
Вот такая беда:
DinoieraДата: Пятница, 05 Февраля 2010, 01:16 | Сообщение # 77
участник
Сейчас нет на сайте
Assasin, Привет, давно тя в аське не видно, но не в это суть, когда доделаешь 13 урок а то хотел бы сделать на твоих уроках флешку

Добавлено (05.02.2010, 01:16)
---------------------------------------------

Quote (niker_666)
Вот такая беда:

Копируй текст отсюда


Помогаю чем могу и прошу взаимной помощи)
DCH - сайт разработчиков игр(новый проект)


Сообщение отредактировал Dinoiera - Пятница, 05 Февраля 2010, 01:16
SaiteiДата: Суббота, 27 Февраля 2010, 15:01 | Сообщение # 78
старожил
Сейчас нет на сайте
Quote (Assasin)
Design View (картинка)

нет у меня такого (сейчас скрин покажу)
SaiteiДата: Воскресенье, 28 Февраля 2010, 00:10 | Сообщение # 79
старожил
Сейчас нет на сайте

Добавлено (27.02.2010, 15:51)
---------------------------------------------
настроил, но при нажатии на Design View ничего не происходит

Добавлено (28.02.2010, 00:10)
---------------------------------------------
в Main написал код:

Code
<?xml version="1.0" encoding="utf-8"?>  
<mx:Application layout="absolute" width="400" height="300" xmlns:mx="http://www.adobe.com/2006/mxml">
   <mx:Script><![CDATA[  
       import mx.rpc.events.ResultEvent; //при написании кода вручную, эти импорты появляються сами, первый нужен для  
       import mx.controls.Alert; //определения результата, второй для вывода всплывающих окон  
       import flash.net.navigateToURL; //а третий для перехода между страницами  
            
       private var pic_arr_m:Array = ["img/men1-1.png", "img/men1-2.png", "img/men1-3.png", "img/men1-4.png"]; //создаем масив, который хранит путь к картинкам мужского пола  
       private var pic_arr_w:Array = ["img/women2-1.png", "img/women2-2.png", "img/women2-3.png", "img/women2-4.png"]; //создаем масив, который хранит путь к картинкам женского пола  
       private var i:int = 0; //числовая переменная равна 0  
       [Bindable] //сам еще не знаю для чего нужна это строка, но без нее выдает ошибку  
       private var gr:String = "1"; //текстовая переменная равна 1  
       [Bindable]  
       private var patch:String; //текстовая переменная  
       /* Функция создания чара, отправляет данные которые ввел пользователь */  
       private function onCreateChar():void {  
        createRequest.send();  
       }  
       /* Функция выбора RadioButton мужского пола */  
       private function iMen():void {  
        avatar.load(pic_arr_m[0]); //отображает картинку, которая равна 0 в масиве, тоесть первую картинку  
        gr = "1"; //переменная равна 1  
        simpleLabel.text = "1-1"; //тег <mx:Text> который имеет имя simpleLabel равен "1-1"  
       }  
       /* Функция выбора RadioButton женского пола */  
       private function iWomen():void {  
        avatar.load(pic_arr_w[0]); //отображает картинку, которая равна 0 в масиве, тоесть первую картинку  
        gr = "2"; //переменная равна 1  
        simpleLabel.text = "2-1"; //тег <mx:Text> который имеет имя simpleLabel равен "2-1"  
       }  
       /* Функция нажатия кнопки "Пред." */  
       private function onLeft():void {  
        if (men.selected == true){ //если выбран пол "Мужской", то  
         avatar.load(pic_arr_m[i]); //картинка равняеться переменной "i"  
         i--; //переменная уменьшаеться на 1  
         if (i == -1) { //если переменная "i" равна -1, то  
          i = 3; //"i" равна 3  
         }  
        if (i == 0) { //если "i" равна 0, то  
         simpleLabel.text = "1-1"; //тег <mx:Text> который имеет имя simpleLabel равен "1-1"  
         avatar.load(pic_arr_m[0]); //будет отображать первый аватар  
         patch = "img/man1-1.swf"; //путь к аватару  
        }  
        if (i == 1) {  
         simpleLabel.text = "1-2";  
         avatar.load(pic_arr_m[1]);  
         patch = "img/man1-2.swf";  
        }  
        if (i == 2) {  
         simpleLabel.text = "1-3";  
         avatar.load(pic_arr_m[2]);  
         patch = "img/man1-3.swf";  
        }  
        if (i == 3) {  
         simpleLabel.text = "1-4";  
         avatar.load(pic_arr_m[3]);  
         patch = "img/man1-4.swf";  
        }  
        }  
         if (women.selected == true) { //если выбран пол "Женский", то  
          avatar.load(pic_arr_w[i]); //картинка равняеться переменной "i"  
          i--; //переменная уменьшаеться на 1  
          if (i == -1) { //если переменная "i" равна -1, то  
           i = 3; //"i" равна 3  
          }  
        if (i == 0) {  
         simpleLabel.text = "2-1";  
         avatar.load(pic_arr_w[0]);  
         patch = "img/woman2-1.swf";  
        }  
        if (i == 1) {  
         simpleLabel.text = "2-2";  
         avatar.load(pic_arr_w[1]);  
         patch = "img/woman2-2.swf";  
        }  
        if (i == 2) {  
         simpleLabel.text = "2-3";  
         avatar.load(pic_arr_w[2]);  
         patch = "img/woman2-3.swf";  
        }  
        if (i == 3) {  
         simpleLabel.text = "2-4";  
         avatar.load(pic_arr_w[3]);  
         patch = "img/woman2-4.swf";  
        }        
         }  
       }  
       /* Функция нажатия кнопки "След." */  
       private function onRight():void {  
        if (men.selected == true){ //если выбран пол "Мужской", то  
         avatar.load(pic_arr_m[i]); //картинка равняеться переменной "i"  
         i++; //переменная увеличиваеться на 1  
         if (i == 4) { //если переменная "i" равна 4, то  
          i = 0; //"i" равна 0  
         }  
        if (i == 0) {  
         simpleLabel.text = "1-1";  
         avatar.load(pic_arr_m[0]);  
         patch = "img/man1-1.swf";  
        }  
        if (i == 1) {  
         simpleLabel.text = "1-2";  
         avatar.load(pic_arr_m[1]);  
         patch = "img/man1-2.swf";  
        }  
        if (i == 2) {  
         simpleLabel.text = "1-3";  
         avatar.load(pic_arr_m[2]);  
         patch = "img/man1-3.swf";  
        }  
        if (i == 3) {  
         simpleLabel.text = "1-4";  
         avatar.load(pic_arr_m[3]);  
         patch = "img/man1-4.swf";  
        }  
        }  
        if (women.selected == true) { //если выбран пол "Женский", то  
         avatar.load(pic_arr_w[i]); //картинка равняеться переменной "i"  
         i++; //переменная увеличиваеться на 1  
         if (i == 4) { //если переменная "i" равна 4, то  
          i = 0; //"i" равна 0  
         }  
         if (i == 0) {  
         simpleLabel.text = "2-1";  
         avatar.load(pic_arr_w[0]);  
         patch = "img/woman2-1.swf";  
        }  
        if (i == 1) {  
         simpleLabel.text = "2-2";  
         avatar.load(pic_arr_w[1]);  
         patch = "img/woman2-2.swf";  
        }  
        if (i == 2) {  
         simpleLabel.text = "2-3";  
         avatar.load(pic_arr_w[2]);  
         patch = "img/woman2-3.swf";  
        }  
        if (i == 3) {  
         simpleLabel.text = "2-4";  
         avatar.load(pic_arr_w[3]);  
         patch = "img/woman2-4.swf";  
        }       
        }      
       }  
            
       /* Функция определения результата */  
       private function onResult(e:ResultEvent):void {  
         if (int(e.result) > 0) { //если результат больше 0, тоесть существует, то  
          //var link:URLRequest = new URLRequest("http://localhost/game.php"); //создаем ссылку  
          //navigateToURL(link, "_self"); //переадресовываем по ссылке  
         } else { //в другом случае, если результат не существует, то  
          switch (int(String(e.result))) { //считываем данные  
           case -1 : //если данные равны "-1", то выводим всплывающее окно  
            Alert.show("Неудалось подключиться к базе данных. Попробуйте позже", "Ошибка!");  
            break;  
           case -2 : //если данные равны "-2", то выводим всплывающее окно  
            Alert.show("Такое имя уже существует", "Ошибка!");  
            break;  
           case -3 : //если данные равны "-3", то выводим всплывающее окно  
            Alert.show("Вы не ввели имя", "Ошибка!");  
            break;  
           case -4: //если данные равны "-4", то выводим всплывающее окно  
            Alert.show("Недопустимые символы в имени", "Ошибка!");  
            break;  
          }  
         }  
       }  
      ]]></mx:Script>
         <mx:Button label="Далее" click="onCreateChar()" x="140" y="252" width="100" height="22"/>  
         <mx:TextInput id="nameChar" textAlign="center" x="111" y="222" width="160" height="22"/>  
         <mx:Image id="avatar" source="img/men1-1.png" x="171" y="93" width="33" height="33"/>  
         <mx:RadioButton id="men" label="Мужской" groupName="gander" selected="true" click="iMen()" x="19" y="41" width="73" height="22"/>  
         <mx:RadioButton id="women" label="Женский" groupName="gander" click="iWomen()" x="19" y="67" width="74" height="22"/>  
         <mx:Label text="Имя" x="176" y="198" width="36" height="18"/>  
         <mx:Button label="Пред." click="onLeft()" x="78" y="141" width="100" height="22"/>  
         <mx:Button label="След." click="onRight()" x="200" y="141" width="100" height="22"/>  
</mx:Application>

что дальше?
Прикрепления: 6070844.png (71.6 Kb)
LucasitoДата: Воскресенье, 28 Февраля 2010, 10:18 | Сообщение # 80
участник
Сейчас нет на сайте
Не забудте потом весь php код прошерстить по поводу безопасности. Код вообще никак не защищен. Обидно будет, если куда-нить выложите сделанное вами и какой-нить зеленый хакер получит доступ к вашей базе данных.

Добавлено (28.02.2010, 10:18)
---------------------------------------------
ещё замечания по базе данных:
1. Таблицы users и avatar имеют связь 1<->1, поэтому смысла большого нет разносить эти данные на 2 таблицы. Только усложняет код. Да и я что-то не могу найти связи между этими таблицами или я не могу понять задумку автора.
2. В таблицах inventar,quest,battle не вижу поля, где записывается кому принадлежит данная вещь,квест,битва.



Скриншоты. Приглашаем бета-тестеров!
Помог? Ставь "+" мне в репу :)
Форум игроделов » Движки для разработки игр и сложные системы разработки » Движки для браузерных игр » Урок по созданию браузерной игры № 3 (II этап регистрации (php, FD, MySQL))
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг