Rheinwerk Design < openbook > Rheinwerk Design - Know-how für Kreative.
Know-how für Kreative.

Inhaltsverzeichnis
Vorwort
1 Flash für ActionScript
2 ActionScript in Flash
3 Flash Pro für ActionScript
4 Grundlagen der Programmierung
5 Einfache Filmsteuerung
6 Bildschirme und Präsentationen
7 Drucken und das Kontextmenü
8 Textfelder
9 Tasten
10 Datum und Zeit
11 Rechnen
12 Farbe wechseln und Drag
13 Zeichnen und Zufall
14 Von Mäusen und Duplikaten
15 Kollisionstest
16 Sound
17 Video
18 Externe Filme
19 Vorladen und Player erkennen
20 Formulare und UI-Komponenten
21 Komponenten anpassen
22 Formulare versenden
23 Warenkorb
24 Ausblick auf ActionScript 3
Stichwort
Ihre Meinung?

Spacer
 <<   zurück
Einstieg in ActionScript von Christian Wenz, Tobias Hauser, Armin Kappler
Aktuell zu Flash 8
Buch: Einstieg in ActionScript

Einstieg in ActionScript
brosch., mit CD und QuickFinder und Referenz
416 S., 24,90 Euro
Rheinwerk Design
ISBN 978-3-89842-774-6
Pfeil 22 Formulare versenden
  Pfeil 22.1 Daten versenden und austauschen
  Pfeil 22.2 Kontaktformular


Rheinwerk Computing - Zum Seitenanfang

22.2 Kontaktformular  topZur vorigen Überschrift

Wie üblich haben wir im Flash-Bereich bereits Vorbereitungen getroffen, Sie müssen im Wesentlichen nur den ActionScript-Code ergänzen.

Schritt für Schritt: Ein Kontaktformular erstellen

Öffnen Sie die Datei versenden.fla von der CD-ROM. Dort finden Sie ein Kontaktformular in mehreren Bildern.

Werfen Sie einen Blick auf das eigentliche Kontaktformular in Bild 1. Sie sehen eine Reihe von dynamischen Textfeldern: Nachname (nachname_str), Vorname (vorname_str), Betreff (betreff_str), Anfrage (anfrage_str), E-Mail (email_str) und Telefon (telefon_str). Zum Versenden des Formulars dient die Schaltfläche senden_btn.

Abbildung 22.2 Das Kontaktformular (noch unausgefüllt)

Als Nächstes müssen Sie dafür sorgen, dass die Versenden-Schaltfläche erst aktiviert wird, wenn in allen Textfeldern etwas steht. Das erledigt folgender Code:

stop();
senden_btn.enabled = false;
var id_number:Number = setInterval(pruefen, 250);
function pruefen() {
   var ok:Boolean = true;
   if (nachname_str == null ||
      vorname_str == null ||
      betreff_str == null ||
      anfrage_str == null ||
      email_str == null ||
      telefon_str == null) {
      ok = false;
   }
   if (senden_btn.enabled != ok) {
      senden_btn.enabled = ok;
   }
}

Anfangs ist die Schaltfläche deaktiviert (senden_btn.enabled = false). Dann wird periodisch die Funktion pruefen() aufgerufen, die alle Formularfelder überprüft und gegebenenfalls die Schaltfläche freigibt.

Sobald der Nutzer die Schaltfläche anklickt, soll auf die nächste Seite des Formulars weitergeleitet werden. Das geschieht mit folgendem Code:

on (release) {
   gotoAndStop(5);
}

Ab Bild 5 gibt es im Flash-Film eine Bestätigungsseite, in der die Formulareingaben wiederholt werden. Wenn Sie einen kurzen Blick auf die Variablennamen der dynamischen Textfelder werfen, stellen Sie fest, dass diese identisch sind mit den Variablennamen im Kontaktformular. Konsequenz: Diese Felder werden im Voraus automatisch mit den richtigen Werten ausgefüllt, eine große Zeitersparnis.

Abbildung 22.3 Die Bestätigungsseite (bis jetzt noch leer)

Die beiden Schaltflächen müssen Sie noch mit Funktionalität belegen. Bei der Zurück-Schaltfläche soll der Film an den Anfang zurückspringen:

on (release) {
   gotoAndStop(1);
}

Die Bestätigen-Schaltfläche dagegen springt zu Bild 10:

on (release) {
   gotoAndStop(10);
}

Die letzte »Seite« des Kontaktformulars, die Bestätigungsseite ab Bild 15, enthält nur einen Bestätigungstext, keine dynamischen Textfelder mehr.

Abbildung 22.4 Die Ergebnisseite (sie ist immer so leer)

In Bild 10 sollten Sie die Formulardaten an ein serverseitiges Skript senden.Die Übergabe der Daten ist nicht weiter schwierig, da sie komplett in dynamischen Textfeldern vorliegen. Der Code beschränkt sich auf einen einfachen Aufruf von loadVariables():

loadVariables("flash.php", "", "POST");

Nun benötigen Sie ein PHP-Skript, das die Daten per E-Mail verschickt. Aus Gründen der Einfachheit wählen wir einen allgemeinen Ansatz, bei dem alle POST-Daten ausgegeben und per Mail gesendet werden. Sie benötigen dazu ein korrekt konfiguriertes PHP, das in der Lage ist Mails zu verschicken. Hier der Code des PHP-Skripts flash.php:

<?php
  $betreff = (isset($_POST['betreff_str'])) ? $_POST['betreff_str'] : '';
  ob_start();
  print_r($_POST);
  $daten = ob_get_contents();
  ob_end_clean();
  mail('webmaster@xy.de',
   $betreff,
   $daten);
?>

Ändern Sie webmaster@xy.de in Ihre eigene E-Mail-Adresse um. Außerdem müssen Sie gegebenenfalls PHP entsprechend konfigurieren. Dazu finden Sie in der PHP-Konfigurationsdatei php.ini einen Abschnitt [mail], in dem Sie entsprechende Angaben machen können. Das ist insbesondere bei einer lokalen PHP-Installation erforderlich; bei einem Webhoster übernimmt das in der Regel der Provider für Sie.

Kopieren Sie sowohl die Datei flash.php als auch die SWF-Datei des Films in ein Verzeichnis auf dem Webserver. Falls Sie zusätzlich von Flash eine HTML-Datei erstellen ließen, die die SWF-Datei einbindet, kopieren Sie die Datei mit.

Rufen Sie den Film im Webbrowser auf. Dabei müssen Sie über den Webserver gehen, also beispielsweise http://servername/datei.swf aufrufen. Füllen Sie das Formular aus, schicken Sie es ab und warten Sie darauf, dass die E-Mail bei Ihnen eintrifft.

Abbildung 22.5 Die automatisch erzeugte Mail; der Betreff wurde übernommen

Ein komplett lauffähiges Beispiel finden Sie in der Datei versenden_AS2.fla bzw. versenden_AS1.fla, ebenso das fertige Skript flash.php.

Es ist übrigens wichtig, dass Sie das Beispiel über einen Webserver abspielen lassen. Falls Sie das nicht tun und die SWF-Datei per Dateisystem aufrufen (etwa C:\Verzeichnis\Dateiname.swf), klappt der Aufruf des Skripts nicht. Wenn Sie das innerhalb von Flash versuchen, erscheint im Ausgabe-Fenster sogar eine entsprechende Warn- beziehungsweise Fehlermeldung.


Mailversand

Nicht immer steht ein Mailserver zur Verfügung, über den die E-Mail verschickt werden kann. Insbesondere beim Test auf der lokalen Maschine mangelt es an einem SMTP-Server – ohne geht es aber leider nicht. Aus diesem Grund ist im PHP-Skript eine weitere Möglichkeit vorgesehen: das Schreiben der Formulardaten in eine Datei auf dem Webserver. Allerdings ist dies nur als Notlösung zu sehen.


Abbildung 22.6 Fehler beim Aufruf per Dateisystem und ohne Webserver

Die hier gezeigte Kontaktaufnahme ist natürlich nur ein Beispiel. Wenn Sie mit den Autoren dieses Buches Kontakt aufnehmen möchten, finden Sie unter http://www.hauser-wenz.de/support Updates zum Buch sowie ein Kontaktformular – zwar ohne Flash, aber wir antworten trotzdem.

 



Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

 <<   zurück
  
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: ActionScript 3 – Das Praxisbuch
ActionScript 3
Das Praxisbuch

bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: JavaScript






 JavaScript


Zum Rheinwerk-Shop: jQuery






 jQuery


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


Zum Rheinwerk-Shop: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern