Nella parte 1 abbiamo creato il sistema di accesso front-end per consentire agli utenti di inserire i propri dettagli. In questo tutorial creeremo un modulo di registro che consentirà agli utenti di registrarsi. Questo aggiungerà i loro dettagli al database, dopo di che saranno in grado di accedere.
Per prima cosa, impostiamo la nostra classe di documento e il file Flash. Apri un nuovo file Flash, quindi chiamalo register.fla
. Quindi, crea un file actionscript e chiamalo register.as
Quindi digita Registrare
nel campo di testo della classe nel pannello Proprietà.
Ora abbiamo collegato il nostro documento al nostro codice, abbiamo bisogno di creare la nostra classe nel file as.
pacchetto import flash.display. *; registro di classi pubbliche estende MovieClip public function register (): void trace ("success");
Disegna un rettangolo pieno di 460 x 300 px e scegli il colore di sfondo che ti piace. Crea il titolo - Registrati con noi - e un campo di testo - Registrati.
La tua interfaccia dovrebbe assomigliare a questa:
Crea tre campi di testo di input con i nomi di istanza di username_text
, password_text
e userbio_text
.
Fare clic sul campo di testo con "Registra" creato nel passaggio 3 e convertirlo in un clip filmato. Dagli un nome di istanza di register_button
.
A questo punto la tua interfaccia dovrebbe assomigliare a questa:
Crea un nuovo campo di testo dinamico vicino al registro e assegnagli un nome di istanza result_text
. Abbiamo completato tutti gli oggetti di cui abbiamo bisogno. La nostra interfaccia finita dovrebbe assomigliare a questo.
Per farti risparmiare tempo non coprirò la connessione in questa parte, come puoi apprendere che nella parte 1. Prendi il connect.php dal php
cartella nella Parte 1. L'ho incluso anche nel download della sorgente Source 2.
Questo è tutto ciò che ci serve dalla Parte 1. Ora creiamo il codice actionscript.
Per prima cosa dobbiamo dare al pulsante di registrazione un cursore rollover. Lo facciamo usando il buttonMode
proprietà.
register_button.buttonMode = true;
Questo è tutto ciò che dobbiamo fare per formattare il nostro pulsante di registrazione.
Ora abbiamo bisogno del nostro pulsante di registrazione per eseguire una funzione che convalida l'input di un utente. Possiamo farlo aggiungendo un listener di eventi e attivando la funzione quando l'utente preme il pulsante.
/ * quando viene premuto il pulsante di registrazione, quindi viene eseguita la funzione checkForm. * / register_button.addEventListener (MouseEvent.MOUSE_DOWN, checkForm);
Prima che l'utente possa inviare il modulo devono compilare tutti i campi. Ricordarsi di importare il flash.events. *
classi nel tuo file AS. Segui i commenti ...
funzione pubblica checkForm (e: MouseEvent): void / * Se tutti i campi hanno più di un carattere sendForm () inits. Altrimenti il result_text indicherà loro di riempirli tutti in. * / If (username_text.text! = "" && password_text.text! = "" && userbio_text.text! = "") SendForm (); else result_text.text = "PER FAVORE COMPILA TUTTI I CAMPI";
Ricordarsi di importare il flash.net. *
classi nel tuo file AS. Il URLVariables
la classe viene utilizzata per memorizzare i dati in modo da poterli inviare a una fonte esterna in un secondo momento.
Dobbiamo creare una variabile per conservare questi dati in:
var phpVars: URLVariables = new URLVariables ();
Utilizziamo le variabili di istanza per memorizzare i dati:
phpVars.username = username_text.text; phpVars.password = password_text.text; phpVars.userbio = userbio_text.text;
Successivamente abbiamo bisogno di fare una richiesta URL per ottenere la posizione del nostro file php. Questo URLRequest è anche ciò che passiamo attraverso le nostre variabili php. Quando carichiamo questa richiesta, le variabili php vengono inviate al file php.
var urlRequest: URLRequest = new URLRequest ("php / register.php"); / * qui viene usato il metodo POST, così possiamo usare la funzione $ _POST di php per ricevere le nostre variabili php. * / urlRequest.method = URLRequestMethod.POST; / * questo allega le nostre variabili php alla richiesta url * / urlRequest.data = phpVars;
Il URLLoader
La classe ti consente di inviare e ricevere dati da fonti esterne. In questo caso, invieremo i nostri dati URLVariables al file php tramite il nostro URLRequest. Segui i commenti ...
/ * usiamo la classe URLLoader per inviare la richiesta URLVariables al file php * / var urlLoader: URLLoader = new URLLoader (); urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES; / * esegue la funzione una volta che il file php ha parlato in Flash * / urlLoader.addEventListener (Event.COMPLETE, showResult); / * inviamo la richiesta al file php * / urlLoader.load (urlRequest);
Nel sendForm ()
funzione abbiamo aggiunto un ascoltatore per eseguire il showResult ()
funzione quando il file php è stato eseguito. Ora creiamolo ...
/ * funzione per mostrare risultato * / funzione pubblica showResult (e: Event): void // e.target.data si riferisce all'output del file php. Definiamo result_message nel file php in seguito. result_text.text = "" + e.target.data.result_message;
Crea un nuovo file php, chiamalo register.php
e salvarlo in una nuova cartella chiamata php
.
Per continuare, dobbiamo essere sicuri che i nostri file php e Flash comunichino tra loro. Apri il tuo editor di testo di scelta e apri il register.php
hai appena creato. Di nuovo, segui i commenti ...
Ora carica i file sul tuo server per testarli e verificarli. Se il testo risultante è ora uguale al nome utente, hai una comunicazione riuscita tra Flash e php. Ora cancella il contenuto di register.php.
Ora abbiamo una connessione di successo che possiamo collegare al nostro database dalla Parte 1. Facciamo questo includendo il nostro file connect.php che abbiamo fatto nella Parte 1.
Abbiamo bisogno di creare vars per POST per ricevere i vp php che abbiamo inviato e definiti come variabili POST.
/ * crea POST vars per ricevere dati da flash * / $ username = $ _POST ['username']; $ password = $ _POST ['password']; $ userbio = $ _POST ['userbio'];
Creiamo ora l'istruzione SQL che aggiungerà i nostri valori e li memorizzeremo in un nuovo record nel database. Segui i commenti ...
/ * INSERISCI NEGLI UTENTI - Questo significa che vogliamo inserire un record nella tabella degli utenti. (username, password, user_bio) - Specifichiamo quindi i campi in cui vogliamo aggiungere i nostri dati. VALORI ('$ username', '$ password', '$ userbio') - Specifichiamo quindi quali dati vogliamo in ogni campo. * / $ sql = "INSERISCI NEGLI utenti (nome utente, password, user_bio) VALUES ('$ username', '$ password', '$ userbio')";
/ * Quindi spediamo la query per comunicare con il database. Per inviare nuovamente result_message a flash usiamo la funzione exit. * / mysql_query ($ sql) o exit ("result_message = Error"); uscita ( "result_message = successo");
pacchetto import flash.display. *; import flash.events. *; importa flash.net. *; registro di classi pubbliche estende MovieClip public function register (): void / * Per prima cosa dobbiamo dare al pulsante register un cursore rollover. Lo facciamo utilizzando la proprietà buttonMode. * / register_button.buttonMode = true; / * fornisce al pulsante di registrazione un evento del mouse * / register_button.addEventListener (MouseEvent.MOUSE_DOWN, checkForm); / * imposta tutti i campi su no caratteri * / username_text.text = ""; password_text.text = ""; userbio_text.text = ""; / * convalida l'input dell'utente * / public function checkForm (e: MouseEvent): void if (username_text.text! = "" && password_text.text! = "" && userbio_text.text! = "") sendForm () ; else result_text.text = "PER FAVORE COMPILA TUTTI I CAMPI"; / * funzione che usiamo per inviare il form * / public function sendForm (): void / * usiamo la classe URLVariables per memorizzare le nostre variabili php * / var phpVars: URLVariables = new URLVariables (); phpVars.username = username_text.text; phpVars.password = password_text.text; phpVars.userbio = userbio_text.text; / * usiamo il metodo URLRequest per ottenere l'indirizzo del nostro file php e allegare php vars. * / var urlRequest: URLRequest = new URLRequest ("php / register.php"); / * qui viene usato il metodo POST, quindi possiamo usare la funzione $ _POST di php per ricevere le nostre variabili php. * / urlRequest.method = URLRequestMethod.POST; / * questo allega le nostre variabili php alla richiesta url * / urlRequest.data = phpVars; / * usiamo la classe URLLoader per inviare la richiesta URLVariables al file php * / var urlLoader: URLLoader = new URLLoader (); urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES; / * esegue la funzione una volta che il file php ha parlato di flash * / urlLoader.addEventListener (Event.COMPLETE, showResult); / * inviamo la richiesta al file php * / urlLoader.load (urlRequest); / * funzione per mostrare risultato * / funzione pubblica showResult (e: Event): void result_text.text = "" + e.target.data.result_message;
Ora puoi andare alla demo, registrarti, poi andare alla pagina di accesso e provarlo. Grazie per aver letto questa serie in due parti!