. .. : Swf.hu 1.0 archívum : Swf.hu főoldal >>> : .. .




 
 
SEGÉDLETEK Flash+PHP+MySQL

E-mail küldése Flash-ből PHP segítségével
  feltöltve: 2003.11.01 | szerző: ismeretlen | olvasva: 12481 alkalommal

 
 

Az jobb oldalt látható Flash adatlappal és egy rövid kis PHP segítségével emailt tudsz továbbítani a papp@swf.hu címre. Próbáld ki! Az email négy dolgot tartalmaz: a küldő nevét, a küldő email címét, a tárgyat és a szöveget. Először Flash-ben el fogjuk készíteni grafikai elemeket és az adatbeviteli mezőket, melyekhez változókat rendelünk. A küldés gombon szükségünk lesz egy rövid ActionScript-re ami átadja a PHP fájlnak a bevitt adatokat. Utolsó lépésben az említett PHP fájlt fogjuk leprogramozni.

Az adatlapot könnyedén kibővítheted további mezőkkel, de előbb nézzük akkor lépésről-lépésre a dolgot....



1. lépés: Hozzunk létre egy új Flash dokumentumot (pl. 250x320 pixel). Két szimbólumra lesz szükségünk: egy movie clip-re (name: mail) és egy button-ra (name: küldés). A movie clip fogja tartalmazni a levelező-felületet, amelyen a fent leírt négy szöveges rész szerepel. Készítsük el az alapgrafikát a beviteli mezőkkel (neved, email címed, tárgy, üzenet), majd a küldés gombot. Ezután a gombot helyezzük el a mail clip-ben:

2. lépés - A szövegmezők

A szövegek beviteléhez készítsük el a szövegmezőket a következő módon:

  1. Hozzunk létre egy új layer-t.
  2. Helyezzük el az első mezőt, és állítsuk be a Character panelen a szöveg tulajdonságait:
    • Character: Arial, 12 pixel, fekete;
    • Text Options: Input text, Single line, Variable: Nev, Max. chars: 40;
    • Paragraph: balra zárt.
      Ezzel azt állítottuk be, hogy a szöveg bevitelkor a 'Nev' változónak felel meg.
  3. A következő mező az email-é. A beállítások ugyanazok, kivétel: Variable: Email.
  4. A harmadik mező a tárgy. Beállításokban itt a Variable: Targy, Max. chars legyen több, 60, hogy hosszabb szövegeket is be lehessen írni.
  5. A negyedik mezőbe kerül majd maga az üzenet. Itt a Variable: Szoveg, a Text Options-nál: Multiline, Word wrap (itt már többsoros szöveget lehet beírni), a Max. chars legyen 0, ezzel nincs limitálva a szöveg hossza.
    Létrehoztuk tehát a négy szövegmezőt, amelyben a bevitt szövegeket mint értéket veszik fel a változók, a Nev, Email, Targy, Szoveg.
  6. Ezután még egy mezőt kell létrehozni, amelyben hibaüzeneteket és a küldéssel kapcsolatos visszajelzéseket jeleníthetünk meg. Helyezzük el ezt a mezőt a Küldés gomb közelébe.
    A szövegbeállítások:
    • Character: Arial, 12 pixel, vörös;
    • Text Options: Dynamic text, Multiline, Word wrap, Variable: Visszajelzes, Max. chars: 0;
    • Paragraph: balra zárt.

Ha mindez megvan, akkor helyezzük el a mail movie clip-et a Scene 1-en, és az Instance panelen írjuk be a Name-hez: mail.

3. lépés - Az ActionScript kód

A küldés layer-en lévő gomb scriptje a következő:

on (release) {
if (!Email.length || Email.indexOf("@") == -1 || Email.indexOf(".") == -1) {
Visszajelzes = "Kérem, adjon meg egy valódi email címet!";
} else if (!Nev.length) {
Visszajelzes = "Kérem, adja meg a nevét!";
} else if (!Targy.length) {
Visszajelzes = "Az üzenetnek nincs tárgya!";
} else if (!Szoveg.length) {
Visszajelzes = "A levél nem tartalmaz szöveget!";
} else {
loadVariablesNum ("mail.php", "0", "POST");
Visszajelzes = "Levél küldése folyamatban...";
}
}

Kattintáskor a script elsőként az 'Email' változót vizsgálja: !Email.lenght - azt jelenti, hogy nem írtunk a címbe semmit; Email.indexOf("@") == -1 - azt jelenti, hogy nincs a címben @; az Email.indexOf(".") == -1 pedig azt jelenti, hogy nem írtunk a címbe pontot. Ha ezek igazak, akkor a 'Visszajelzes' változó egyenlő lesz a "Kérem, adjon meg egy valódi email címet" üzenettel, amely a Küldés gomb mellett azonnal kiíródik.
Ha a feltétel hamis, akkor a script továbblép a következő vizsgálatra, a névre, majd a tárgyra, végül a szövegre. Ha minden feltétel hamis (tehát nem igaz az, amit a script feltételez, hogy nem írtunk semmit a mezőkbe), akkor a loadVariablesNum ("mail.php", "0", "POST") elküldi a változókat a mail.php-ba, és a 'Visszajelzes' változó egyenlő lesz a Levél küldése folyamatban..." üzenettel.

4. lépés - A mail.php

Működésbe lép tehát a mail.php:

<?
$ToEmail = "papp@swf.hu";
$ToName = "Papp";
mail($ToName." <".$ToEmail.">",$Targy, $Szoveg, "From: ".$Nev." <".$Email.">");
Print "_root.mail.Visszajelzes=A levél küldése befejeződött.";
?>

Kék színnel jelöltem azokat a változókat, amelyeket a flash-ből kap meg a php (Nev, Email, Targy, Szoveg), zöldekkel pedig azokat, amelyeket a php general (ToEmail, ToName).
Az első sorban ($ToEmail = "xy@freemail.hu";) szerepel a cél, erre a címre megy a levél.
A második sor a címzett neve ($ToName = "XY";).
A harmadik sor a levélküldés (mail($ToName." <".$ToEmail.">",$Targy, $Szoveg, "From: ".$Nev." <".$Email.">");
A negyedik pedig a küldés befejezése utáni visszajelzés (Print "_root.mail.Visszajelzes=A levél küldése befejeződött.";), amely a mail instance name-mel jelzett clipben a Küldés gomb mellé íródik ki.

5. lépés: A Scene 1-en hozzunk létre egy új layer-t, és írjuk be a következő frame action-t, hogy a tesztelésnél a movie-t eredeti méretében nézhessük, és így lehetőség legyen a karakteremezők helyének, méretének ellenőrzésére:

fscommand ("allowscale", "false");

Ezzel meg is volnánk. A teszteléshez annyit meg kell jegyeznem, hogy az email elküldése csak internetes környezetben működik és persze nem árt ha van PHP a szerveren.

 
 
 
 

© Devnet.hu. A segédletek semmilyen formában nem másolhatók, publikálhatók a Devnet.hu és a szerzők közös írásos engedélye nélkül.
 
. .. : Swf.hu 1.0 archívum : Swf.hu főoldal >>> : .. .