Thursday, July 29th 2010, 1:21pm UTC+2

You are not logged in.

  • Login
  • Register

undefined

Super Moderator

Posts: 4,248

Location: Germany

1

Tuesday, May 6th 2003, 9:04pm

Daten von Flash an PHP übergeben und diese in einer Textdatei Speichern

Zuerst erstellen wir unser Flash Dokument.
Danach erzeugen wir ein MovieClip auf dem wir unsere Eingabe Maske erstellen!
Das MovieClip benennen wir Eingabe und machen es auch für attachMovie verfügbar in dem wir die Option Verknüpfung aktivieren und im dem Bezeichner den gleichen Namen in diesem fall also Eingabe verwenden. Auf diesem MovieClip erzeugen wir wiederum einige Eingabe Textfelder und vergeben folgende Variablenzuweisungen.
name, email, homepage und dertext.

Danach erstellen wir mit Strg+F8 eine Schaltfläche und benennen sie write.
Ziehen sie auf die Bühne des MovieClips positionieren es und rufen jetzt den ActionScript Editor auf.
Wir verwenden den Befehl on (release) um den entsprechen Aktionshandler aufzurufen!
Zuvor sammeln wir für eine besseren Übersichtlichkeit unsere Variablen und übergeben sie an die Funktion senden in der Ebene 1.

ActionScript-Quelltext

1
2
3
on (release) {    
_root.senden("text="+dertext+"&name="+name+"&email="+email+"&homepage="+homepage);
}


Aus kleiner Spielerei laden wir unsere Eingabe Maske mit attachMovie Positionieren dieses.

ActionScript-Quelltext

1
2
3
attachMovie("Eingabe""eingabe"0);
eingabe._x 11.2;
eingabe._y 49.4;

Nach dem Attach Befehl folgt der Funktionsaufruf für das Senden!
Die Daten übergeben wir ja mit unserer on(realease) Aktion im MovieClip Eingabe!

ActionScript-Quelltext

1
2
3
4
5
6
7
8
9
10
// 
function senden(daten) {
   // trace (daten);
   Scriptsend "http://localhost/tutspeichern/write.php?" add daten;
   loadVariablesNum(Scriptsend0"POST");
   this.onData = function() {
     _root.infotext message;
     unloadMovie(eingabe);
   };
}


Bevor wir unsere Flashdatei Speichern erstellen wir noch ein Dynamisches Textfeld in Bild eins der Ebene1. Und vergeben ihr die Variable infotext.

Jetzt kommen wir zum PHP Script.

Es wird euch etwas verwirren wenn ihr auf einmal den Befehl Get seht obwohl ihr eigentlich den Post Befehl in der fla verwendet!
Nun das liegt daran das Flash in Wirklichkeit die methode Post oder multipart/form-data Befehl gar nicht kann! Es wird die CGI Schnittstelle genutzt. Mal wieder einer der vielen Bugs unter Flash ;) Das soll uns aber nicht stören dann verwenden wir halt den Superglobalbefehl get. Und fragen erst einmal ab ob etwas ankommt damit wir auch Daten Schreiben können. Dies erledigen wir mit einer IF Abfrage und der Variable $_GET[text] die an erster Stelle unseres übergebenen Strings steht. Seit PHP 4 werden mit der CGI Schnittstelle übergeben Variablen in den Globalen Namensraum des Servers geschrieben und lassen sich durch so genannte Superglobals überall aufrufen, auch innerhalb von Funktionen. Daher steht die variable get im funktionsaufruf als reine fiktion.
Und hat keine weiter bedeutung. Mit fopen öffnen wir die Schreibaktion und mit fputs Löschen und Schreiben wir den neuen Datensatz.

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php 
function eintragen($_GET) {
//
 $datei fopen("news.txt","w"); 
     $editeintrag "text=" $_GET['text'] . "&name=" $_GET['name'] . "&email=" $_GET['email'] . "&homepage=" $_GET['homepage']; 
   fputs($datei$editeintrag);
 fclose($datei);
 echo "message=Daten Erfolgreich gesendet!";
} 

if ($_GET['text']) {
 eintragen($_GET);
 } else {
 echo "message=Keine Daten empfangen!";
}
?>

Als Bestätigung geben wir einen echo Befehl zurück den wir im Textfeld infotext auf der Ebene 1 zurück geben!
Das wahr es auch schon viel Spaß beim üben und hier wie immer der Download.

mfg Mingmaster
undefined has attached the following file:
  • tutspeichern.zip (69.81 kB - 446 times downloaded - Last download: Jul 20th 2010, 1:01am)
Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
PHP Katepart - Speichenrechner - .htpasswd - RPM XDG Tool - Kcmnvview - QTidy
  • Go to the top of the page

undefined

Super Moderator

Posts: 4,248

Location: Germany

2

Tuesday, May 20th 2003, 7:44pm

Nach mehreren Anfrage noch eine kleine Erweiterung!
Mit diesem Script können Daten verglichen werden und bei ihrer existens verändert! Dadurch müssen nicht immer alle Variablen in Flash send and Load Befehl angegeben werden!

Inhalt der Textdatei

Source code

1
daten=1&var0=Der&var1=Apfel&var2=faellt&var3=nicht&var4=weit&var5=vom&var6=Stamm

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// Öffne Text Datei mit Inhalt
// daten=1&var0=Der&var1=Apfel&var2=faellt&var3=nicht&var4=weit&var5=vom&var6=Stamm
function lesedatei() {
 if(file_exists("vars.txt")) {
  $fp fopen("vars.txt""r");
  $vars explode("&"fgets($fp));
  $result = array();
  foreach ($vars as $x) {
     array_push($resultexplode("="$x));
  }
  fclose($fp);
 return $result;
 }
}

// Nehme Eintrag entgegen!
if ($_GET['daten'] == 1) {
 // Rufe Lesen auf!
 $lesen lesedatei();
 if (count($lesen) != 0) {
   $array = array();
   // Durchlaufe Array und vergleiche!
   for ($i 0;$i<count($lesen);$i++) {
      array_push($array$lesen[$i][0]. "=" $s = (isset($_GET[$lesen[$i][0]]) ? $_GET[$lesen[$i][0]] : $lesen[$i][1]));
   }
  // Formatiere neu
  $editeintrag implode("&"$array);
 } else {
  // Schreibe ohne Suche
  $editeintrag "daten=1&var1=" .$_GET['var1']. "&var1=" .$_GET['var1']. "&var2=" .$_GET['var2']. "&var3=
" .$_GET['var3']. "&var4=" .$_GET['var4']. "&var5=" .$_GET['var5']. "&var6=" $_GET['var6'];
 }
  // Wieder eintragen!
  $datei fopen("vars.txt","w");
    fputs($datei$editeintrag);
 fclose($datei);
}

Source code

1
<a href="functions.php?daten=1&var0=Was&var1=Apfel&var2=fällt">TEST</a>


mfg Mingmaster
Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
PHP Katepart - Speichenrechner - .htpasswd - RPM XDG Tool - Kcmnvview - QTidy
  • Go to the top of the page

kelor

Super Moderator

Posts: 3,408

Location: formel1-stadt hockenheim

3

Tuesday, May 20th 2003, 9:21pm

ganz ausgezeichnet, ming...

leute schau´s euch an...ist wirklich sehr gut zu gebrauchen...

greetz

kelor
[ActionScript-Trainer] [Referent ActionScript] [Buchautor]
[Online/Offline Flash_Applications & Developer]
  • Go to the top of the page