![]() | ![]() | ![]() |
| |||||||
| Registrazione | FAQ | Lista utenti | Calendario | Segna forums come letti |
| Tags: cs3, flash, mysql, numero, php, registrati, utenti, vbulletin, visualizzare |
![]() |
| | LinkBack | Strumenti discussione | Modalità visualizzazione |
| | #1 | ||||
| Admin 1,618034 ![]() | Flash CS3 + PHP + mySQL, visualizzare il numero utenti registrati da vBulletin Vedremo come creare un SWF che tramite Actionscript 3.0 che chiama un PHP che a sua volta esegue una query al database mySQL. Il PHP restituisce tale valore a Flash che visualizza il numero di utenti registrati del forum ed il nome dell' ultimo registrato. Se avete appreso bene i contenuti dell' articolo in cui mostravo come utilizzare il nuovo [Solo gli utenti registrati possono visualizzare tutti i links] e cosa sia la[Solo gli utenti registrati possono visualizzare tutti i links] , allora siete pronti per aggiungere un bel modulo in Flash al vostro forum. Ad esempio, molti di noi usano un cms come sito ' vetrina ' e homepage. Poi il forum è installato in un' altra cartella. Con questo tutorial potete creare un SWF che ' pesca ' i dati dal database del vostro forum e posizionarlo nella homepage del vostro sito. Chiaramente poi sta a voi implementare delle animazioni a vostro gusto personale. Io cerco di rimanere sul semplice in modo che tutti possano capire i passi di questo tutorial. Seguitemi... Creo un FLA che salvo con nome ' utenti.fla ' e gli assegno le misure di 150x80. Al suo interno ho sullo Stage: - una MovieClip con nome loading_mc che sarà visualizzata durante il tempo di percorrenza dalla chiamata al PHP fino alla sua risposta. Al suo interno ha una piccola animazione a intermittenza. - una MovieClip con nome utenti_mc con all' interno un campo di testo che visualizza la scritta ' utenti registrati '. Inoltre ha una piccola animazione al suo interno in modo da far apparire la MovieClip stessa dalla destra verso il centro. - una MovieClip con nome ultimo_mc con le stesse caratteristiche di utenti_mc ma con la scritta ' ultimo utente registrato '. - un campo di testo dinamico con nome numero_txt che visualizzerà il numero degli utenti iscritti - un campo di testo dinamico con nome ultimo_txt che visualizzerà il nome dell' ultimo utente registrato. Passiamo al codice Actionscript 3.0: creo la Document class, un file AS che salvo con nome ' Utenti.as ', che chiamerà il primo script PHP per recuperare il numero totale degli utenti iscritti, implementata in questo modo: Citazione:
Poi creo un' altra classe, un file AS che salvo con nome ' Ultimo.as ', che chiamerà il secondo script PHP per recuperare il nome dell' ultimo utente iscritto, implementata in questo modo: Citazione:
Analizziamo il codice: Classe Utenti.as Proprietà: una variabile numerica in cui inserirò il valore che mi passa il PHP ( numero utenti ) private var num_utenti:int; un Timer per una piccola animazione private var timer:Timer; Una variabile di tipo Boolean che servirà sempre per l' animazione private var boo:Boolean=true; Metodi init(); imposto la velocità del frame rate stage.frameRate=31; Adesso mi concentro dal metodo completato() in avanti, in quanto il resto che esegue questa classe lo abbiamo già visto quì: [Solo gli utenti registrati possono visualizzare tutti i links] completato(); fermo l' animazione di loading_mc e lo rendo invisibile loading_mc.stop(); loading_mc.visible=false; recupero i dati che mi ha restiuito utenti.php ( facendo una query al DB ) var loader:URLLoader=URLLoader(e.target); var vars:URLVariables=new URLVariables(loader.data); asegno il valore del PHP alla variabile num_utenti num_utenti=vars.utenti; faccio partire la timeline di utenti_mc utenti_mc.play(); creo un intervallo ENTER_FRAME che controlla il numero del frame attuale di utenti_mc chiamando la funzione checking utenti_mc.addEventListener(Event.ENTER_FRAME,check ing); checking(); se il frame corrente è il numero 31 if(e.currentTarget.currentFrame==31) { fermo l' intervallo e.currentTarget.removeEventListener(Event.ENTER_FR AME,checking); chiamo il metodo display() display(); istanzio la classe Ultimo ( che vedremo tra poco ) var utlimo:Ultimo=new Ultimo(this); } display(); assegno al campodi testo numero_txt il valore della variabile num_utenti numero_txt.text=num_utenti.toString(); creo un Timer che chiamerà ogni 250 centesimi di secondo la funzione fade() timer=new Timer(250,0); timer.addEventListener(TimerEvent.TIMER,fade); timer.start(); fade(); se la variabile boo è true if(boo) assegno un alpha a ytenti_mc pari a 0,75 utenti_mc.alpha=.75; se invece è false else assegno un alpha a ytenti_mc pari a 1 utenti_mc.alpha=1; inverto il valore di boo boo=!boo; Classe Ultimo.as Proprietà: una variabile di tipo MovieClip a cui assegnerà la root passandogliela da Utenti.as in modo da potermi riferire alle MovieClip e campi di testo che ho in utenti.fla private var Root:MovieClip; una variabile di tipo stringa in cui inserirò il nome dell' ultimo utente registrato che mi ha restituito ultimo.php ( dopo la query al database ) private var ultimo_utente:String; Come abbiamo già visto in altri casi, il codice all' interno della funzione costruttrice di una classe è la prima cosa che viene eseguita. Infatti quando da Utenti.as abbiamo istanziato Ultimo.as, nella costruttrice di Ultimo.as abbiamo il seguente codice: assegno alla variabile Root, la root così posso chiamare le MovieClip che ho sullo Stage Root=m; rendo visibile loading_mc Root.loading_mc.visible=true; gli spostola sua y di 40 pixels Root.loading_mc.y+=40; faccio partire la sua timeline Root.loading_mc.play(); Adesso andiamo al metodo completato(); fermo la timeline di loading_mc e lo rendo invisibile Root.loading_mc.stop(); Root.loading_mc.visible=false; recupero i dati che il PHP mi ha restituito ( una sringa col nome dell' ultimo utente registrato ) var loader:URLLoader=URLLoader(e.target); var vars:URLVariables=new URLVariables(loader.data); assegno i dati alla variabile ultimo_utente ultimo_utente=vars.ultimo; faccio partite la timeline di ultimo_mc Root.ultimo_mc.play(); creo un intervallo ENTER_FRAME che controlla il numero del frame attuale di ultimo_mc chiamando la funzione checking Root.ultimo_mc.addEventListener(Event.ENTER_FRAME, checking); function checking(e:Event):void { se il frame corrente è il numero 31 if(e.currentTarget.currentFrame==31) { fermo l' intervallo e.currentTarget.removeEventListener(Event.ENTER_FR AME,checking); assegno il testo al campo di testo ultimo_txt Root.ultimo_txt.text=ultimo_utente; } } Il PHP che utilizzo : utenti.php Citazione:
Citazione:
Cambiare gli url ai files PHP nelle classi Utenti ( riga 42 ) e Ultimo (riga 38 ). I due file php devono avere permessi 777. [Solo gli utenti registrati possono visualizzare tutti i links]
__________________ | ||||
| | |
| Sponsored Links |
| |
![]() |
| Strumenti discussione | |
| Modalità visualizzazione | |
| |