Flash CS3 - Flash CS4

Free tutorials and scripts for all.
Actionscript 3.0

Inserire dati nel DataBase da Flash CS3

This is a discussion on Inserire dati nel DataBase da Flash CS3 within the Articoli e tutorials forums, part of the Flash CS3 e Actionscript 3.0 category; Spesso capita che stiamo sviluppando un sito web con Adobe Flash per un cliente e/o amico e ci viene ...


Go Back   Forum Flash CS3 Flash CS4 > Flash CS3 e Actionscript 3.0 > Articoli e tutorials

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  1 links from elsewhere to this Post. Click to view. #1 (permalink)  
Old 27-08-08, 06:11
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
Inserire dati nel DataBase da Flash CS3

Spesso capita che stiamo sviluppando un sito web con Adobe Flash per un cliente e/o amico e ci viene richiesto di immagazzinare i dati degli utenti tramite una form.
Come fare ?
Questo tutorial cercherà di spiegare ai meno esperti come inserire dei dati in un DataBase ( mySQL ) da Flash.

Per prima cosa bisogna ribadire il concetto che Flash e mySQL non possono comunicare direttamente.
Serve un script lato server ( in questo caso PHP ) che riceva i dati da Flash e li inserisca poi nel DataBase.

Ho creato un esempio utilizzando una form in Flash che invia dei dati ad uno script PHP ( nome, cognome, indirizzo, città, stato, email ) che a sua volta li immagazzinerà nel DataBase.

Prima di tutto bisogna creare una nuova tabella nel nostro DB:
In questo caso una tabella che chiameremo "clients" con 7 colonne ( ID, nome, cognome, indirizzo, città, stato, email ).

Il file .sql per creare la tabella necessaria è il seguente:
PHP Code:
CREATE TABLE `clients` (
`
IDINT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`
nameTEXT NOT NULL ,
`
surnameTEXT NOT NULL ,
`
addressTEXT NOT NULL ,
`
cityTEXT NOT NULL ,
`
stateTEXT NOT NULL ,
`
emailTEXT NOT NULL
ENGINE MYISAM 
Creo una form in Flash nel seguente modo:
- sei campi di testo statici che conterranno i titoli ( nome, cognome, indirizzo, città, stato, email )
- sei campi di testo input nei quali l' utente inserirà le proprie informazioni
- un campo di testo dinamico che servirà a visualizzare eventuali messaggi per l' utente ( ad esempio se non ha compilato tutti i campi )
- un bottone per l' invio dei dati

Eccola:





Nella Document Class Main.as abbiamo il seguente codice:
Code:
/*
 *************************************
 * Data Store Flash CS3 + PHP  
 * http://www.FlepStudio.org         
 * Author: Filippo Lughi           
 * version 1.0                       
 *************************************
 */
package org.FlepStudio
{
	import flash.display.*;
	import flash.events.*;
	import flash.text.*;
	import flash.utils.*;
	import flash.net.*;
	import caurina.transitions.Tweener;
	
	public class Main extends MovieClip
	{
		private var email_checker:CheckEmail;
		
		private var timer:Timer;
		
		private var film_mc:MovieClip;
		
		public static var _Name:String;
		public static var _Surname:String;
		public static var _Address:String;
		public static var _City:String;
		public static var _State:String;
		public static var _Email:String;
		
		public function Main()
		{
			addEventListener(Event.ADDED_TO_STAGE,init);
		}
		
		private function init(evt:Event):void
		{
			removeEventListener(Event.ADDED_TO_STAGE,init);
			
			form_mc.x=stage.stageWidth+10;
			
			stage.frameRate=31;
			
			email_checker=new CheckEmail();
			
			moveInForm();
			addButtonListener();
		}
		
		private function moveInForm():void
		{
			Tweener.addTween(form_mc,{x:stage.stageWidth/2-form_mc.width/2,time:0.7,transition:"easeOutElastic"});
		}
		
		private function addButtonListener():void
		{
			form_mc.send_btn.addEventListener(MouseEvent.MOUSE_DOWN,checkFields);
		}
		
		private function checkFields(evt:MouseEvent):void
		{
			if(email_checker.initCheck(form_mc.email_txt.text))
			{
				if(form_mc.name_txt.text!=''&&form_mc.surname_txt.text!=''&&form_mc.address_txt.text!=''&&form_mc.city_txt.text!=''&&form_mc.state_txt.text!='')
				{
					showWorking();
					_Name=form_mc.name_txt.text;
					_Surname=form_mc.surname_txt.text;
					_Address=form_mc.address_txt.text;
					_City=form_mc.city_txt.text;
					_State=form_mc.state_txt.text;
					_Email=form_mc.email_txt.text;
					
					var send_data:StoreData=new StoreData(this);
				}
				else
					displayError("fill in all the fields please");
			}
			else
				displayError("invalid e-mail");
		}
		
		private function displayError(s:String):void
		{
			form_mc.error_txt.text=s;
			hideError();
		}
		
		private function hideError():void
		{
			timer=new Timer(2500,1);
			timer.addEventListener(TimerEvent.TIMER,deleteError);
			timer.start();
		}
		
		private function deleteError(evt:TimerEvent):void
		{
			form_mc.error_txt.text='';
		}
		
		private function showWorking():void
		{
			film_mc=new MovieClip();
			film_mc.graphics.beginFill(0xFFFFFF,0.7);
			film_mc.graphics.drawRect(0,0,stage.stageWidth,stage.stageHeight);
			addChild(film_mc);
		}
		
		public function hideWorking():void
		{
			removeChild(film_mc);
			
			displayError("Data has been stored");
			
			reset();
		}
		
		private function reset():void
		{
			form_mc.name_txt.text='';
			form_mc.surname_txt.text='';
			form_mc.address_txt.text='';
			form_mc.city_txt.text='';
			form_mc.state_txt.text='';
			form_mc.email_txt.text='';
			
			form_mc.x=stage.stageWidth+10;
			
			moveInForm();
		}
	}
}
Nella seguente riga:
var send_data:StoreData=new StoreData(this);
viene istanziata un' altra classe che si chiama StoreData che invierà i dati al PHP.
La seguente classe:
Code:
/*
 *************************************
 * Data Store Flash CS3 + PHP  
 * http://www.FlepStudio.org         
 * Author: Filippo Lughi           
 * version 1.0                       
 *************************************
 */
package org.FlepStudio
{
	import flash.events.*;
	import flash.net.*;
	import flash.display.MovieClip;
	
	public class StoreData
	{
		private var request:URLRequest=new URLRequest('http://www.flepstudio.org/swf/ImmagazzinareDati/storeData.php');
		
		private var _fla:MovieClip;
		
		public function StoreData(fla:MovieClip)
		{
			_fla=fla;
			
			sendToPHP();
		}
		
		private function sendToPHP():void
		{
			var variables:URLVariables=new URLVariables();
			variables.name=Main._Name;
			variables.surname=Main._Surname;
			variables.address=Main._Address;
			variables.city=Main._City;
			variables.state=Main._State;
			variables.email=Main._Email;
			request.method=URLRequestMethod.POST;
			request.data=variables;
			var loader:URLLoader=new URLLoader();
			loader.dataFormat=URLLoaderDataFormat.VARIABLES;
			addListeners(loader);
			trace(variables);
			try 
			{
				loader.load(request);
			} 
			catch (error:Error) 
			{
				trace('Unable to load requested document.');
			}
		}
		
		private function addListeners(d:IEventDispatcher):void
		{
			d.addEventListener(Event.COMPLETE,onComplete);
		}
		
		private function onComplete(e:Event):void
		{
			var loader:URLLoader=URLLoader(e.target);
			var vars:URLVariables=new URLVariables(loader.data);
			if(vars.answer=="ok")
			{
				_fla.hideWorking();
			}
		}
	}
}
Il file PHP è invece strutturato in questo modo:
PHP Code:
<?php
    
/*
 *************************************
  Flash CS3 Data Store Form                   
  http://www.flepstudio.org     
  Author: Filippo Lughi          
  version 1.0                                
 *************************************
 */
 /******** CHANGE YOUR DATABASE SETTING *******/
    
$dbhost 'localhost'// database host ( usually localhost )
    
$dbuser 'root'// database username
    
$dbpass 'root'// database password
    
$dbname 'name'// database name
    
$mysql mysql_connect($dbhost,$dbuser,$dbpass);
    
mysql_select_db($dbname);
    
    
/* VARIABLES FROM FLASH */
    
$name=$_REQUEST["name"];
    
$surname=$_REQUEST["surname"];
    
$address=$_REQUEST["address"];
    
$city=$_REQUEST["city"];
    
$state=$_REQUEST["state"];
    
$email=$_REQUEST["email"];
    
    
/*INSERT INTO DB*/
    
$Query "INSERT INTO `".$dbname."`.`clients` (`ID`, `name`, `surname`, `address`, `city`, `state`, `email`) VALUES (NULL, \"".$name."\", \"".$surname."\",\"".$address."\",\"".$city."\",\"".$state."\",\"".$email."\");";
    
    
/* ECHO TO FLASH */
    
if(mysql_query($Query))
    {
        
$answer='ok';
        echo 
"answer=".$answer;
    }
    else
    {
        
$answer='nope';
        echo 
"answer=".$answer;
    }
?>
La prossima volta vrdremo come recuperare i dati..
Allego i files:
Attached Files
File Type: zip StoringData.zip (75.2 KB, 112 views)

__________________

 


I recommend: Essential Actionscript 3.0

- Non rispondo ai messaggi privati con domande tecniche. Apri una discussione sul forum !
- I do not reply technicians pvt messages. Open a thread !

Last edited by Flep; 27-08-08 at 06:16..
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #2 (permalink)  
Old 14-10-08, 18:23
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
Re: Inserire dati nel DataBase da Flash CS3

Ecco la seconda parte che spiega come recuperare i dati:

Recuperare dati da mySQL con Flash CS3
__________________

 


I recommend: Essential Actionscript 3.0

- Non rispondo ai messaggi privati con domande tecniche. Apri una discussione sul forum !
- I do not reply technicians pvt messages. Open a thread !
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

Reply

Bookmarks

Tags
DataBase, mysql, php

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump

Similar Threads

Thread Thread Starter Forum Replies Last Post
Recuperare dati da mySQL con Flash CS3 Flep Articoli e tutorials 6 23-11-08 17:01
Storing data in DataBase with Flash CS3 Flep Tutorials 2 10-10-08 13:42
Flash 8 inserire animazioni flash in pagine xhtml nascus Flash CS3 generale 0 02-09-08 16:42
Flash CS3 Inserire codice HTML in un sito flash.. binarydna Flash CS3 generale 0 13-07-08 15:54
Inserire tag flash... nei post edo_flash Off Topic - Libera la mente 3 22-10-07 08:47


All times are GMT. The time now is 10:45.


Powered by vBulletin versione 3.7.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0 RC4
Forum SiteMap


FlepStudio
by Filippo Lughi
P.IVA 03605860406