Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash CS4 Professional

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-08-2010, 16:00   #1 (permalink)
Artcore-GFX
 
Benutzerbild von getflashed
 
Registriert seit: Nov 2008
Ort: Hamburg
Beiträge: 44
Unhappy Formular Vars an PHP senden

Guten Tag alle Flasher,
Ich versuche grad ein Mailing-Formular mit Flash (AS2) zu bauen,
jedoch bekommt die .php-Datei die Variablen nicht.
Habe schon soooo viel gegoogled aber irgendwie finde ich nichts was mir wirklich weiterhelfen konnte.

AS-Script:
PHP-Code:
messageb.tabIndex 1;
namexy.tabIndex 2;
vorname.tabIndex 3;
combo.tabIndex 4;
apartner.tabIndex 5;
strasse.tabIndex 6;
nr.tabIndex 7;
plz.tabIndex 8;
ort.tabIndex 9;
tel.tabIndex 10;
fax.tabIndex 11;

focusManager.defaultPushButton _root.bSenden;

focusManger.setFocus(vorname);

function 
fehlerfun(w,xe,ye){
w.createEmptyMovieClip("fehler_mc",-100)
w.fehler_mc.lineStyle(20xFF0000,50);
w.fehler_mc.lineTo(xe,0);w.fehler_mc.lineTo(xe,ye)
w.fehler_mc.lineTo(0,ye);w.fehler_mc.lineTo(0,0)
}
testar= new Array(vorname,namexy,apartner,strasse,nr,plz,ort,tel,fax,messageb);       
meldung_txt.autoSize=true

_root
.bSenden.onRelease = function() {
fehler 0;
for(
i=0;i<testar.length;i++){
testar[i].fehler_mc.clear()
if(
testar[i].length<1){fehlerfun(testar[i],testar[i]._width,testar[i]._height);fehler++;}
}

if (
fehler == 1) {
        
meldung_txt.text "Das rot markierte Textfeld muss richtig ausgefüllt sein!";
}

if (
fehler>1) {
        
meldung_txt.text "Die rot markierten Textfelder müssen richtig ausgefüllt sein!";
}

if (
fehler == 0) {
/*    var targetLoadVars:LoadVars = new LoadVars();
    var myLoadVars:LoadVars = new LoadVars();
    myLoadVars.messageb = messageb.text;
    myLoadVars.namexy = namexy.text;
    myLoadVars.vorname = vorname.text;
    myLoadVars.combo = combogetSelectedIndex();
    myLoadVars.apartner = apartner.text;
    myLoadVars.strasse = strasse.text;
    myLoadVars.nr = nr.text;
    myLoadVars.plz = plz.text;
    myLoadVars.ort = ort.text;
    myLoadVars.tel = tel.text;
    myLoadVars.fax = fax.text;
    myLoadVars.sendAndLoad ("email.php", this, "POST");
    targetLoadVars.onLoad = function() {*/
    
loadVariablesNum("email.php"0"POST");
    
trace(this.success);
    
gotoAndStop("danke");
};
}; 
Die Textfelder sind als TextInput (messageb, namexy, vorname,apartner , strasse, nr, plz, ort, tel, fax) eingebaut und "combo" ist die ComboBox

Das funzt eigentlich soweit, falls fehler drin sind oder man lieber eine andere Methode zum senden der Variablen nimmt, lasse ich mich gerne belehren.Ich

Ich befürchte jedoch das es eher an meiner PHP liegt, da ich dort absoluter Anfänger bin und halt nur durch meine Flash Kenntnisse halbwegs klar komme

Meine PHP:
PHP-Code:
<?php
$adminaddress 
"admin@meineseitenURL.de"
$sitename "Gewinnspiel";

$message =
"$namexy = $_POST[namexy];",
"$vorname = $_POST[vorname];",
"$apartner = $_POST[apartner];",
"$messageb = $_POST[messageb];",
"$combo = $_POST[combo];",
"$strasse = $_POST[strasse];",
"$nr = $_POST[nr];",
"$plz = $_POST[plz];",
"$ort = $_POST[ort];",
"$tel = $_POST[tel];",
"$fax = $_POST[fax];";

mail("$adminaddress","Eine Teilnahme ist eingetroffen!"$message);
?>
Habe zig Array aufzählungen mit den Variablen getestet aber ich bekomme nur Mails ohne Inhalt.

Als ich noch mit Textfeldern und ohne die Feld-Abfrage gearbeitet habe hat es auch noch gefunzt, habe mich wohl aber übel verfranzt und wenn man den halben Tag vor sitzt sieht man manchmal den Wald vor Bäumen nicht.

(Falls es mit der Arbeitsdatei besser nachvollziebar ist sende ich diese gerne auf Anfrage)
getflashed ist offline   Mit Zitat antworten
Alt 26-08-2010, 16:19   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
loadVariablesNum sendet alle Variablen der Zeitleiste an das PHP-Script und erhält zudem keinen Response. Nimm besser die von dir auskommentierte Instanz der LoadVars-Klasse (eine einzige Instanz reicht dann auch). Beispiele findest du auch in diesem Tutorial.

Und dann würde ich auch nicht drei if-Bedingungen hintereinander abfragen, denn es wird ja wohl nur eine richtige Lösung geben. Also if-else if-else...

Und die message-Variable in deinem PHP-Script würde ich anders zusammensetzen, das sieht mir schwer nach einem Syntax-Problem aus.
  Mit Zitat antworten
Alt 27-08-2010, 11:19   #3 (permalink)
Artcore-GFX
 
Benutzerbild von getflashed
 
Registriert seit: Nov 2008
Ort: Hamburg
Beiträge: 44
Hallo agedoubleju,
Danke, für deine rasche Antwort!
Habe nun wieder die LoadVars benutzt und bin nach deinem Tut gegangen,
nur habe ich das mit der einzigen Instanz nicht ganz verstanden, bzw. weiss ich nicht wie ich alles in eine schreiben sollte.

sieht jetzt so aus:
PHP-Code:
    lv = new LoadVars();
        
lv.onLoad = function () {
            
geladen;
            
trace(this.success);
            
gotoAndStop("danke");
        };
        function 
geladen(erfolgreich) {
            if(
erfolgreich) {
            
trace("empfangene Variable: "+this.rueckgabe);
            }
            else {
            
trace("Fehler beim Laden");
            }
        }
    
lv.messageb messageb.text;
    
lv.namexy namexy.text;
    
lv.vorname vorname.text;
    
lv.combo combo.getSelectedIndex();
    
lv.apartner apartner.text;
    
lv.strasse strasse.text;
    
lv.nr nr.text;
    
lv.plz plz.text;
    
lv.ort ort.text;
    
lv.tel tel.text;
    
lv.fax fax.text;
    
lv.sendAndLoad("email.php",lv,"POST");
    }; 
das läuft auch soweit, nun mangelt es mir immer noch an PHP Kenntnissen :>
Habe mal versucht die Vars anders auf zu zählen

PHP-Code:
<?php
$adminaddress 
"admin@meineseitenURL.de"
$sitename "Gewinnspiel";
$empfangeneVar $_POST["vorname"];
$empfangeneVar $_POST["namexy"];
$empfangeneVar $_POST["messageb"];
$empfangeneVar $_POST["combo"];
$empfangeneVar $_POST["apartner"];
$empfangeneVar $_POST["strasse"];
$empfangeneVar $_POST["nr"];
$empfangeneVar $_POST["plz"];
$empfangeneVar $_POST["ort"];
$empfangeneVar $_POST["tel"];
$empfangeneVar $_POST["fax"];
echo
"&rueckgabe=".$empfangeneVar."&";
mail("$adminaddress","Eine Teilnahme ist eingetroffen!""$empfangeneVar");
?>
damit bekomme ich schon mal Inhalt aber nur die Letzte Variable mit Fax,
bzw. 1 Mail mit der Fax-Nummer enthalten und 1 Mail mit "undefined"
ziemlich verwirrend... sollte ich die $empfangeneVar lieber mit Kommatas anstatt Semikolon trennen?
Teste da nochmal etwas herum, dauert nur immer mit der response, muss das immer auf den FTP-Laden und dann 5-10min warten bis etwas ankommt.
Admin ist im Urlaub und ohne den bekomme ich kein XAMPP auf den Rechner T_T (Warum kann es nicht so einfach gehen wie von swf zu swf :>)

PS. habe auch nochmal die HTML+SWF+PHP als .zip beigelegt!
Die Arbeitsdatei war ein wenig zu groß um Sie hier mit an zu hängen,
zur Arbeitsdatei hier lang >> http://artcore-gfx.com/transfer/Formular.fla

PPS. ist noch nicht die sauberste fla :D habe so viel herum gewuselt

greets aus Hamburg
Angehängte Dateien
Dateityp: zip Formular_Sample-Folder.zip (76,3 KB, 2x aufgerufen)

Geändert von getflashed (27-08-2010 um 11:26 Uhr)
getflashed ist offline   Mit Zitat antworten
Alt 27-08-2010, 11:31   #4 (permalink)
Artcore-GFX
 
Benutzerbild von getflashed
 
Registriert seit: Nov 2008
Ort: Hamburg
Beiträge: 44
Achso, zu dem "If & else"!
Ich hatte es eigentlich so aufgebaut, weil ich somit sagen kann ob die Probleme im Plural oder Singular auftreten. (mmh, erinnert mich grad an Four Rooms von Tarantino! :>) oder geht das auch mit "If & else"?
getflashed ist offline   Mit Zitat antworten
Alt 27-08-2010, 11:58   #5 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
damit bekomme ich schon mal Inhalt aber nur die Letzte Variable mit Fax,
Variablen verbindet man in PHP mit einem Punkt. Bitte schau dir die Syntax an.
PHP-Code:
$empfangeneVar $_POST["vorname"].$_POST["namexy"]; 
Wobei ich Namen-Wertepaare bevorzugen würde, denn was nützt dir eine Reihe von Werten?
  Mit Zitat antworten
Alt 27-08-2010, 12:40   #6 (permalink)
Artcore-GFX
 
Benutzerbild von getflashed
 
Registriert seit: Nov 2008
Ort: Hamburg
Beiträge: 44
Super agedoubleju,
Das funzt jetzt soweit, muss nur noch schauen wie ich das jetzt in der Mail sauber aufgebaut bekomme... dachte da an sowas >
PHP-Code:
$empfangeneVar "Vorname ""$_POST["vorname"]. "Nachname". $_POST["namexy"]; 
und für die fehlerhaften Umlaute >
PHP-Code:
function decode($str) {
        
$str utf8_decode($str);
        return 
$str;

$empfangeneVar decode("Vorname ""$_POST["vorname"]. "Nachname". $_POST["namexy"]); 
aber das muss ich erstmal testen...
Muss jetzt nur eben was anderes fertig machen und dann kann ich zu Hause weiter machen, da gibts dann auch XAMPP

aber erstmal einen RIESEN DANK! Das war das Erfolgserlebniss was vor dem Wochenende gefehlt hat xD
getflashed ist offline   Mit Zitat antworten
Alt 27-08-2010, 13:16   #7 (permalink)
Neuer User
 
Registriert seit: Sep 2007
Beiträge: 9
1) du hast da mit den Anführungszeichen ein durcheinander.
Es gibt doppelte" und einfache' Anführungszeichen.
benütze beide arten um sie zu verschachteln.
vorsicht:
$varxy="w";
// "hallo $varxy"== "hallo w"
// 'hallo $varxy'== "hallo $varxy"

$empfangeneVar = "Vorname $_POST['vorname'] Nachname $_POST['namexy']";

2)
$test="hallo"; //in der war steht nun: hallo
$test="flasher"; //in der war steht nun: flasher
$test.=" nun klapt es"; //in der war steht nun: flasher nun klapt es

3)wen x = 1 ist, wird x nicht auch noch gleich 5 sein. Eine zusätzliche Abfrage ist daher unsinnig.
--> if (fehler == 1) { ...}
else if (fehler>1) { ....}
else if (fehler == 0) {...}
//letzte if ist nicht notwendig, da jedoch undefined != 0 ist kannst du es auch sicherheitshalber stehen lassen.

4)Mit print_r($_POST); kannst du dir auch das Array anzeigen lassen

Geändert von dregi (27-08-2010 um 13:19 Uhr)
dregi ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
flash cs4, formular, php, textinput, vars

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Formular senden v.stoermer ActionScript 2 11 24-06-2008 22:06
Formular Senden FreeFlow Flash Einsteiger 2 20-03-2006 09:33
Maillink mit übergabe der Vars an ein Formular ??? Digger2k3 PHP und MySQL 5 03-08-2004 22:02
vars an film senden staccato Flash MX 2 10-01-2003 13:41
Vars von PHP zu PHP verdeckt senden? Samuel Flash und Datenbanken 7 18-05-2002 14:21


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:29 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele