Flash Newsletter (AS2, PHP, MySQL) – 1
Haideti sa ne jucam putin cu Flash-ul. Ce ati spune daca am lega flash-ul de PHP si PHP-ul de MySQL? Nu este o treaba foarte complicata, trebuie doar putina atentie.
Prima parte a tutorialului va consta in client-side version pentru Newsletter, si anume modulul de inregistrare al userului in baza de date.
In prima faza va trebui sa cream urmatoarele: un input text field cu numele de mail, un buton simplu cu numele de send si un dynamic text field cu numele status.
Dupa ce facem acestea, trecem la partea de actionscript. Dam click pe primul frame si apasam F9. In fereastra de actiuni inseram urmatorul cod.
mail.restrict = "a-zA-Z0-9@_\\-\\.\\";
function vermail() {
if (mail.text == "") {
status.text = "Please write your e-mail.";
} else {
status.text = "";
mailBoolean = true;
}
if (mailBoolean == true) {
var addVars:LoadVars = new LoadVars();
var addReceiveLoad:LoadVars = new LoadVars();
addVars.mail = mail.text;
addVars.sendAndLoad("add.php",addReceiveLoad,"POST");
addReceiveLoad.onLoad = function() {
if (this.sts == "1") {
status.text = "Thank you!";
send.enabled = false;
mail.type = "dynamic";
mail.selectable = false;
} else if (this.sts == "0") {
status.text = "An error has occured.";
} else {
status.text = "You are allready registered.";
}
}
}
}
send.onPress = vermail;
Acum sa vedem ce face fiecare linie de cod.
mail.restrict = "a-zA-Z0-9@_\-\.\";
Atributul restrict limiteaza posibilitatea de inserare a caracterelor in input field-ul mail. Astfel, userul poate insera doar caracterele standard (a-z – litere mici, A-Z – litere mari, 0-9 – cifre si semnele care pot aparea in cadrul unei adrese de mail – @_-.).
function vermail() {
Cream o functie care va fi actionata la apasarea butonului send si care va face toate operatiunile necesare trimiterii adresei de mail catre PHP. In cadrul functiei vom verifica daca input field-ul este gol.
if (mail.text == "") {
Daca verificarea returneaza fals, adica userul a inserat date in campul mail, variabila de tip boolean va primi valoarea de true, altfel vom afisa un mesaj de eroare.
mailBoolean = true;
In continuare, daca variabila mailBoolean este adevarata, vom trece la asamblarea datelor pentru export.
var addVars:LoadVars = new LoadVars();
var addReceiveLoad:LoadVars = new LoadVars();
Cream 2 variabile de tip LoadVars, una pentru a trimite adresa de mail catre PHP, alta pentru a primi raspunsul de la script.
addVars.mail = mail.text;
addVars.sendAndLoad("add.php",addReceiveLoad,"POST");
Adaugam variabilei addVars valoarea mail care contine datele din campul text mail. Cu ajutorul functiei sendAndLoad trimitem variabila catre PHP (in cazul nostru numele fisierului este add.php), ii spunem functiei ca variabila ce va contine datele trimise inapoi de PHP este addReceiveLoad si ca metoda de trimitere este POST.
addReceiveLoad.onLoad = function() {
if (this.sts == "1") {
status.text = "Thank you!";
send.enabled = false;
mail.type = "dynamic";
mail.selectable = false;
} else if (this.sts == "0") {
status.text = "An error has occured.";
} else {
status.text = "You are allready registered.";
}
Cand variabila addReceiveLoad va fi incarcata complet, vom verifica rezultatul trimis de catre PHP. Acesta poate fi 1, 0 sau alta valoare. Daca this.sts (variabila trimisa inapoi de PHP) este egala cu 1, inseamna ca mail-ul a fost inscris cu succes in baza de date, iar campul mail va deveni din input, dynamic, si nu va putea fi selectat continutul sau. Daca valoarea este egala cu 0, atunci inseamna ca a aparut o eroare in legatura PHP-ului cu baza de date. Daca valoarea este diferita de 0 si 1, inseamna ca mail-ul este deja existent in baza de date.
Asta e pe partea de Flash. Acum PHP-ul. Cream un fisier gol numit add.php in care inseram codul de mai jos.
<?php
$user = 'user';
$pass = 'parola';
$host = 'localhost';
$database = 'nume baza de date';
mysql_connect ($host, $user, $pass);
mysql_select_db ($database);
$mail = strip_tags($_POST['mail']);
$sql = "SELECT * FROM tabel WHERE mail='$mail'";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
if($count == 0){
$sts = mysql_query("INSERT INTO tabel (mail) VALUES ('$mail')");
} else {
$sts = "existent";
}
echo "&sts=$sts&";
?>
Primele 6 randuri de cod stabilesc legatura cu baza de date.
$mail = strip_tags($_POST['mail']);
Variabila PHP $mail primeste variabila trimisa de Flash, variabila numita mail (addVars.mail). parametrul strip_tags elimina eventualele caractere ce pot aparea in cadrul transferarii variabilelor (tag-uri HTML in principal).
$sql = "SELECT * FROM tabel WHERE mail='$mail'";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
if($count == 0){
Selectam din tabelul numit tabel inregistrarea care contine coloana mail cu valoarea variabilei trimise de Flash. In cazul in care nu gasim nicio inregistrare, variabila $count va fi egala cu 0.
$sts = mysql_query("INSERT INTO tabel (mail) VALUES ('$mail')");
Daca totul este ok si mail-ul nu exista inregistrat, trecem mai departe la adaugarea acestuia in baza de date. Variabila $sts va primi valoarea 1 (succes) sau 0 (eroare). Query-ul nu face altceva decat sa insereze in tabelul tabel, coloana mail, valoarea variabilei $mail.
} else {
$sts = "existent";
}
Daca totusi gasim mail-ul deja inregistrat, variabila $sts primeste valoarea existent.
echo "&sts=$sts&";
In final printam pe ecran valoarea variabilei $sts.
Structura bazei de date este foarte simpla: 2 campuri, unul id setat ca primary key si celalalt mail de tip varchar cu un numar maxim de 40 de caractere.
CREATE TABLE IF NOT EXISTS `tabel` (
`id` int(10) NOT NULL auto_increment,
`mail` varchar(40) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
)
Pare putin complicat dar nu este. Cititi cu atentie explicatiile de mai sus si daca tot nu va lamuriti, intrebati-ma si va ajut cu cea mai mare placere.
Asta e tot pentru prima parte, urmeaza partea de administrare (in primul rand trimitere de mail-uri catre abonati, administrarea acestora si diferite statistici – data trimiterii ultimului newsletter, continutul acestuia, persoanele la care a fost trimis etc.)
| Nume: Flash Newsletter (1.92KB) Descriere: Flash Newsletter FLA - Flash CS3 Descarcari: 126 Puncte de activitate necesare: 100 puncte Punctele tale: Nu ai suficiente puncte de activitate (mai multe detalii) |
C’ya next time.
Ai nevoie de rezolvarea pentru o problema?
Iti rasplatim activitatea!
Iti recomandam si urmatoarele articole:
2 comentarii pentru Flash Newsletter (AS2, PHP, MySQL) – 1
Discuta articolul Flash Newsletter (AS2, PHP, MySQL) – 1
MOZKU RECOMANDA
CATEGORII
- Atestat Info C/C++ (21)
- Atestat Info Pascal (21)
- Learn AJAX (3)
- Learn Android (5)
- Learn C++ (32)
- Learn CSS (11)
- Learn Database (9)
- Learn Flash (33)
- Learn HTML (14)
- Learn JAVA (9)
- Learn Javascript (14)
- Learn jQuery (17)
- Learn Pascal (28)
- Learn PHP (21)
- Learn SQL (5)
- Learn Visual FoxPro (4)
- Tips & Tricks (22)
MOZKU NETWORK
LIKE US! PE FACEBOOK
ULTIMELE ARTICOLE
- Cum sa detectati rezolutia telefonului intr-o aplicatie Android
- Cum se evita oprirea fortata a unei aplicatii
- Cum sa porniti o activitate noua in Android
- Cum sa adaugati un ImageView intr-o aplicatie Android
- Cum sa adaugati un Button intr-o aplicatie Android
- Cum sa utilizati un ArrayList in Java
- Bifeaza toate checkbox-urile folosind jQuery
- Validare formular folosind jQuery
MARCAJE ARTICOLE
CELE MAI DESCARCATE FISIERE
- Proiect Atestat Informatica Visual FoxPro (400)
- Twitter Patterns (202)
- Flash Newsletter (126)
- hitTest Flash (99)
- Data si ora curenta Flash (78)


[...] doua parte a tutorialului de construire a unui newsletter in Flash. In prima parte ne-am ocupat de interfata pentru utilizatorul obisnuit si de inscrierea mail-urilor [...]
[...] In dezvoltarea acestuia m-am folosit de urmatoarele tutoriale compuse pentru Mozku: tastatura virtuala Flash, matrici in Flash si baze de date in Flash. [...]