Formularz kontaktowy we Flash w SWiSH Max / Komunikacja z PHP

Styczeń 27th, 2011 przez admin


W poniższym przykładzie przygotujemy formularz kontaktowy, ktory wyśle informacje do strony PHP i odbierze od niej wynik. Strona PHP wyśle e-mail do właściciela strony.

 

 


Pobierz plik źródłowy

  1. Załóż nowy film, rozdzielczość filmy 549 x 360
  2. W narzędziach wybierz z autokształtów, autokształt Zaokrąglony Prostokąt. Rozciągnij go na projekcie.
  3. Można właczyć w Menu | Widok | Przyciąganie do Siatki do Prowadnic.
  4. Na lewej linijce przytrzymać przycisk myszy i przeciągnąc prwadnice, tak by oddzielała opisy pól od pól.
  5. Rysujemy pola wprowadzania danych:
    - włączamy narzędzie tekst.
    - rysujemy pole userName myszką, ustawiamy w panelu Właściwośći:
    nazwę na userName, ustawiamy Cel (by być dostępne ze skryptu), czcionkę na _sens, wielkość na 10, z rozwijane listy (statyczny, dynamiczny, wprowadzany) wybieramy wprowadzany
    Autorozmiar wysokości  ma być wyłaczony, wysokość w liniach 1, ważne: zahaczamy ikonkę Białe Tło,czarna ramka(tak by nasz tekst wyglądał, jak biała ramka), tekst wieloliniowy wyłączony.

    Właściwości pola userName

    Właściwości pola userName

    - kopiujemy to pole i nazwamy userEmail
    -
    kopiujemy to pole i nazwya userTresc, ale ustawiamy ikonkę tekst wieloliniowy włączony, wysokość lini na 15.

    Właściwości pola userTresc

    Właściwości pola userTresc

  6. Z komponentów przeciągamy na pulpit komponent Przycisk   z grupy Przyciski | Wciskane, ustawiamy tekst na Wyślij
  7. W panelu konspekt zaznaczamy scenę i przechodzimy do panelu Skrypt, gdzie wklajamy poniższy skrypt:

    // funkcja sprawdzająca poprawność formularza
    function formValidation(): boolean
    {
    // wyczysczenie komunikatow bledow
    nameError.text = „”;
    emailError.text = „”;
    trescError.text = „”;
    if (userName.text.length < 4) nameError.text = „Za krótka nazwa, minimum 4 znaki”;
    else if (userEmail.text.length < 4) emailError.text = „Za krótki e-mail, minimum 4 znaki”;
    else if (userTresc.text.length < 10) trescError.text = „Za krótka treść, minimum 10 znaków”;
    else {
    return true;
    }
    return false;
    }

    // funkcja uruchamiana po kliknięciu przycisku
    function Events(name, status)
    {
    if ( (name == „btnwyslij”) && formValidation() )
    {

    var myVars:LoadVars = new LoadVars();

    // ustawienie zmiennych do wysłania wartościami formularza
    myVars.Name = userName.text;
    myVars.Email = userEmail.text;
    myVars.Message = userTresc.text;

    //   zdjęcie wyniku , gdy Flash załaduje już wynik
    myVars.onLoad = function (success)
    {
    if (success)
    {
    _root.dynamTekst.text = myVars.zwracanazmienna;
    }

    }
    // wysłanie formularz
    myVars.sendAndLoad(„contact.php”, myVars, „POST”);
    }
    }

  8. Teraz musimy narysować pola, w których będą się wyświetlać komunikaty:- rysujemy myszką te pola
    - w Panelu Właściwości ustawiamy im opcję cel, nadajemy nazwy:  dynamTekst (pole na wynik działania), nameError, emailError,trescError
    - kolor czerwony, czcionka _sans, wielkość 10.
    - ważne z rozwiajanej listy wybieramy Dynamiczny, teraz będzie można ustawić ten tekst ze skryptu.

    Właściwości pola nameError

    Właściwości pola nameError

 

Uwaga,   ten przykład będzie dział poprawnie po wysłaniu pliku .swf i .php na serwer. Nie będzie działał poprawnie w podglądzie w programie, z uwagi zabezpiecznia flash playera i przeglądarek.

Parametr Base – domyślna ścieżka

W pliku źródłowym ustawiłem parametr BASE na „http://blog.swish.pl/wp-content/uploads/2011/01/” w menu Modyfikuj | Film | Właściwości | Ustawienia eksportu filmu | HTML.
Base (czyli baza) określa domyślną scieżkę, gdzie szukane są pliki, stąd też w kodzie actionscript podawane jest odwołanie do „contact.php”, a dzięki parametrowi base system wie, gdzie go szukać.

Parametr base

Parametr base

Jeśli bym nie ustawił tego parametru system by szukał tego pliku w bieżącym katalogu.

.