Macromedia FLASH 5 - odesílání formuláře - Grafika.cz - vše o počítačové grafice

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Webdesign

Macromedia FLASH 5 - odesílání formuláře

19. února 2001, 00.00 | Odesílání formuláře z FLASH animace do vaší emailové schránky posunuje možnosti tohoto nástroje opět o kus dopředu. Využití jistě najde jak na soukromých stránkách,
tak na firemních prezentacích.

Odesílání formuláře z FLASH animace do vaší emailové schránky posunuje možnosti tohoto nástroje opět o kus dopředu. Využití jistě najde jak na soukromých stránkách, tak na firemních prezentacích a pro zkušenější by jistě neměl být problém vytvořit na tomto základě Internetový obchod ve FLASH.

V dnešním článku si vysvětlíme základní pravidla pro použití formuláře ve FLASH a zároveň si jeden takový velmi jednoduchý formulář vytvoříme. Otevřete si tedy novou scénu (CTRL+N) o velikosti 300 x 150 px (CTRL+M), barvu pozadí nastavte na světe šedou a Frame Rate na 18 snímků za vteřinu. Na barvě pozadí ani na počtu snímků za vteřinu v tomto příkladu jistě nezáleží, ale je dobré na nastavení těchto parametrů nikdy nezapomínat.

Vytvoříme si jednoduchý formulář, který bude obsahovat pouze 3 položky a to jsou: jméno, email a připomínky. Scéna bude obsahovat 6 vrstev, do kterých budou pro přehlednost zvlášť umísťovány jednotlivé elementy jako jsou textové popisy políček, samotná vkládací textová políčka, odesílací tlačítko, akce a pozadí. Vytvořte tedy novou vrstvu a pojmenujte ji "text". Zvolte z textový nástroj a do levé části scény pod sebe napište slova:

Jméno:
E-mail:
Připomínky:

Je dobré nechat mezi nápisy větší mezery než je obvyklé v klasickém psaném textu. Text tedy označte a v paletce "Paragraph" změňte řádkování na cca 3 px. Pro větší přehlednost formuláře je dobré ještě na místo zamýšlených textových políček vložit podklad, který je v našem případě vytvořen ze zaobleného obdélníku šedé barvy.

Vyberte opět textový nástroj a v paletce "Text Options" z roletkového menu zvolte volbu "Input Text". Tato volba nám umožní vložit do scény textové políčko, do kterého bude možno psát text. Ve scéně tedy tažením myši vytvořte políčko na úrovni nápisu "jméno". Pokud budete mít označené políčko, můžete se přepnout do paletky "Character" a v ní nastavovat parametry fontu, kterým se bude v tomto políčku psát. Pro zmenšení velikosti výsledného souboru vám doporučuji zvolit některý z hojně rozšířených fontů (Arial, Times, Verdana, sans-serif, serif). Barvu písma jsem v této paletce zvolil bílou a nastavil jsem velikost fontu na 12 px.

V paletce "Text Options" je třeba také nastavit jméno proměnné (Variable - zde zadejte "jmeno"), zatrhnout zda chcete zobrazovat hranice textového políčka (Border/Bg), stanovit maximální počet znaků (Max. Char. - pokud necháte číslo 0, pak je to neomezené množství) a nakonec je třeba také stanovit, které znaky daného fontu se mají zahrnout do animace (zvětší se velikost výsledného souboru, ale můžeme si dovolit použít jakýkoli font).

Pokud máte textové políčko připraveno, můžete jej čtyřikrát duplikovat (CTRL+D) a použít dle obrázku do formuláře. Změna u každého políčka bude jen v názvu proměnné (Variable), kterou změňte v závislosti na tom, u kterého nápisu se nachází (jmeno, email, mes). Při psaní jmen proměnných doporučuji vyvarovat se použití písmen s diakritikou, která by se nemusela správně přenést přes Internet (stejně jako u klasického posílání e-mailů). Pod formulář umístěte ještě jedno dynamické textové pole (Dynamic Text) a pojmenujte jej "error". V tomto políčku se budou zobrazovat chybová hlášení nebo hlášení o úspěšném odeslání formuláře.

Nakonec ještě potřebujeme tlačítko, kterým se celý formulář odešle. Výhoda oproti klasickým HTML stránkám je v tom, že toto tlačítko může být zároveň jakákoli animace a důležitá je pouze akce, kterou na toto tlačítko nadefinujeme. Vytvoříme si tedy novou vrstvu, do které toto tlačítko umístíme. Tvorbu tohoto tlačítka nechám na vás. Ve chvíli, kdy jej budete mít hotové a umístěné ve vrstvě "tlacitko", klepněte na něj pravým tlačítkem myši a z nabídky zvolte "Actions". Na tlačítko nadefinujte následující akci:

on (release) {
if (jmeno eq "" or jmeno eq " ") {
error = "vložte Vaše jméno";
} else {
set ("i", "0");
while (Number(i)<Number(length(email))) {
if (substring(email, i, 1) eq "@") {
set ("zavinac", i);
}
if (substring(email, i, 1) eq ".") {
set ("tecka", i);
}
set ("i", Number(i)+1);
error = "";
}
if (Number(tecka)<=Number(zavinac) or Number(tecka) == 0 or Number(zavinac) == 0 or Number((tecka-zavinac))<2 or Number((length(email)-tecka))<2 or Number((length(email)-tecka))>3 or Number(zavinac) == 1) {
error = "neplatný email";
} else {
if (mes eq "" or mes eq " ") {
error = "vložte zprávu";
} else {
user_name = jmeno;
user_email = email;
message = mes;
loadVariablesNum ("mail.php?" add random(9999), 0, "POST");
gotoAndPlay (2);
error = "odesílám zprávu";
}
}
}
}

Přestože tento skript vypadá možná na první pohled složitě, tak je velmi jednoduchý. Většinu tohoto skriptu tvoří podmínky pro kontrolu správnosti vyplněných údajů. Každé políčko musí být vyplněno a pro políčko "email" platí ještě několik zásad, které jsou taktéž kontrolovány. Na posledních řádcích jsou jménům proměnných z formuláře změněna jména tak, aby souhlasila s PHP skriptem na serveru a na dalším řádku je zavolán skript "mail.php" a pomocí něj jsou data odeslána.

Skript mail.php naprogramovaný v PHP3 by mohl vypadat napříkldat takto :

<?php
$title = "Formular ze stranek";
$email = "";
mail($email, $title, $message, "From: $user_name <$user_email>\nReply-To:$user_email");
print "&vars_loaded=1&"
?>

Pokud tento skript umístíte na server, je třeba mít zapnutou podporu PHP skriptů. Samozřejmě můžete využít jakýkoli jiný skript a formulář odesílat vlastním skriptem.

Na tlačítko "smazat" je třeba umístit následují akci:

on (release) {
jmeno = "";
email = "";
mes = "";
}

Tato akce způsobí smazání všech políček ve formuláři.

Celá scéna obsahuje pouze 4 klíčové snímky. V prvním a čvrtém se nachází pouze akce "Stop" . Ve druhém snímku je akce:

if (Number(vars_loaded) == Number(true)) {
error = "zpráva odeslána";
gotoAndStop (4);
}

Tato akce kontroluje pomocí proměnné "vars_loaded" umístěné v souboru "mail.php" zda se již formulář odeslal. Pokud ano jde na čvrtý snímek a napíše zprávu "zpráva odeslána" a pokud ne, tak přejde na snímek 3, kde je akce:

gotoAndPlay (2);

Tím je zajištěno neustálé opakování smyčky, dokud nebude mail odeslán.

Závěrem je třeba ještě uvést, že celý formulář je vždy dobré umístit do zvláštního Movie Clipu, neboť se vždy odešlou všechny proměnné, které se nacházejí ve stejné časové ose (Timeline) v jaké se nachází odesílací tlačítko. Pokud by jsme tedy neměli formulář dostatečně oddělený od ostatních proměnných v animaci, mohly by se tyto proměnné odeslat spolu s formulářem a to by na přehlednosti výsledného e-mailu jistě nepřidalo.

Tím je celý příklad hotov a pokud si jej chcete otestovat, doplňte do URL správnou adresu skriptu a testovat můžete i z disku svého počítače. Pro bližší prostudování příkladu Vám doporučuji stáhnout si zdrojový FLA soubor.

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » Go verze  

 » Rubriky  » Webdesign  

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: