Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-09-2003, 08:04   #1 (permalink)
the matrix has you
 
Registriert seit: Nov 2001
Ort: Psion
Beiträge: 832
Ein paar Fragen zum LoadVariables-Objekt

hi leuts,

Ich verwende zum ersten Mal das LoadVariables-Objekt statt dem alten Befehl loadVariablesNum der auf meinem OK-Button liegt.
Meine Frage: Muss der folgende Code jetzt auch auf meinen OK-Button (ins onRelease) oder auf die Hauptzeitleiste??
zur Info: ich habe ein Flashformular mit mehreren Input-Feldern deren Inhalt (=Vars) ich an php schicken will. So gesehen kann der Code eigentlich nur am OK-Button liegen, oder?
ActionScript:
  1. //LoadVariablesObjekt
  2. IFvars = new LoadVars(); //IFvars ist eine Instanz vom LoadVars-Objekt
  3. IFvars.phpvar1 = "_root.inputfield1"; // eigentlich kenne ich den inhalt aber nicht - stimmt das daher von der Syntax her so???
  4. IFvars.phpvar2 = "_root.inputfield2";
  5. IFvars.phpvar3 = "_root.inputfield3";
  6. IFvars.send("meinePHP.php");
  7. //IFvars.sendAndLoad("meinePHP.php", IFvars, "POST");
  8.  
==> noch was: Was ist der Unterschied zw. nur load bzw. send und sendAndLoad??
__________________
!NO RISK - NO FUN!

Geändert von neohacker (30-09-2003 um 08:48 Uhr)
neohacker ist offline   Mit Zitat antworten
Alt 30-09-2003, 08:47   #2 (permalink)
the matrix has you
 
Registriert seit: Nov 2001
Ort: Psion
Beiträge: 832
hmm, hab grade getestet.
also irgendwas paßt da auf keinen fall.
php bekommt keine var's von flash!

__________________
!NO RISK - NO FUN!
neohacker ist offline   Mit Zitat antworten
Alt 30-09-2003, 10:19   #3 (permalink)
Genius
 
Benutzerbild von f@gju
 
Registriert seit: Sep 2003
Ort: Banned into Jail
Beiträge: 650
also 1. ich denke unterschied zwischen load un sendAndLoad ist das einmal nu geladen und einmal beides gemacht wird

so sollte das aussehen
ActionScript:
  1. //LoadVariablesObjekt
  2. IFvars = new LoadVars(); //IFvars ist eine Instanz vom LoadVars-Objekt
  3. IFvars.phpvar1 = _root.inputfield1;
  4. IFvars.phpvar2 = _root.inputfield2;
  5. IFvars.phpvar3 = _root.inputfield3;
  6.  
  7. IFvars.sendAndLoad("meinePHP.php", IFvars, "POST");
  8.  
  9. IFvars.onLoad = function(){
  10.      if(IFvars.succes == true){
  11.          _root.deinAusgabeFeld = "Erfolgreich gesendet";
  12.     }else{
  13.           _root.deinAusgabeFeld = "Fehler beim Senden";
  14.     }
  15. }


inhalt der php datei:

PHP-Code:
<?
    $all 
$phpvar1.$phpvar2.$phpvar3;
    
//mach was damit und dann
    
if(deineAktionensindgelungen){
       echo(
"succes=true");
    }else{
       echo(
"succes=false");
    }
?>
izi pizi

ach ja und wenns immernochnich klappt, dann überprüfmal ob php n fehler verursacht.
__________________
Klick hier

Geändert von f@gju (30-09-2003 um 10:20 Uhr)
f@gju ist offline   Mit Zitat antworten
Alt 30-09-2003, 11:02   #4 (permalink)
the matrix has you
 
Registriert seit: Nov 2001
Ort: Psion
Beiträge: 832
ich hab's jetzt genau so gemacht wie du's gepostet hast und es funkt nicht.

der einzige unterschied: dein code liegt auf meinem OK-Button und nicht in der Hauptzeitleiste. natürlich hab ich's testweise auch auf der Hauptzeitleiste probiert aber da tut sich gar nix.
die php liegt natürlich auf meinem webserver und gibt das echo richtig aus.

langsam aber sicher bin ich am verzweifeln mit diesem blöden laden/senden und bin mir 100%ig sicher, dass es an Flash scheitert denn sooft ich die php auch teste, die gibt IMMER den richtigen wert zurück. ich glaube es liegt hier einfach ein kommunikations bzw. aktualisierungsproblem vor.

was ich erreichen will ist im prinzip einfach: der user hat fünf inputfelder zur verfügung wo er seine daten eingibt. diese sende ich an php und php trägt die daten (=vars) in meine DB-Tab. ein. danach sendet php wieder eine variable aus (entweder yes oder no). per if frage ich in flash ab welchen wert die variable hat und springt jenachdem auf frame4 oder frame5.

es kann doch nicht sein, dass das nicht funkt!!!
__________________
!NO RISK - NO FUN!

Geändert von neohacker (30-09-2003 um 12:02 Uhr)
neohacker ist offline   Mit Zitat antworten
Alt 30-09-2003, 13:42   #5 (permalink)
Genius
 
Benutzerbild von f@gju
 
Registriert seit: Sep 2003
Ort: Banned into Jail
Beiträge: 650
Kannst mal alles posten??
__________________
Klick hier
f@gju ist offline   Mit Zitat antworten
Alt 30-09-2003, 14:27   #6 (permalink)
the matrix has you
 
Registriert seit: Nov 2001
Ort: Psion
Beiträge: 832
dein wunsch ist mir befehl!

bin schon gespannt was du zu dem ganzen meinst
Angehängte Dateien
Dateityp: zip pack.zip (39,9 KB, 2x aufgerufen)
__________________
!NO RISK - NO FUN!
neohacker ist offline   Mit Zitat antworten
Alt 30-09-2003, 14:37   #7 (permalink)
Genius
 
Benutzerbild von f@gju
 
Registriert seit: Sep 2003
Ort: Banned into Jail
Beiträge: 650
was ist das für eine include datei???

PHP-Code:
include ("/a/bbb/ccccc/config.inc.php4"); 
__________________
Klick hier
f@gju ist offline   Mit Zitat antworten
Alt 30-09-2003, 14:41   #8 (permalink)
paranoid...
 
Benutzerbild von Geheimrat
 
Registriert seit: Aug 2002
Ort: Marburg
Beiträge: 1.003
Muß man die php-Datei nicht per loadVars einbinden?

Geht das auch mit include? Würd mich mal interessieren...

__________________
...ich sag's nur meinem Fanblog: ICH BLOGGE !
Geheimrat ist offline   Mit Zitat antworten
Alt 30-09-2003, 14:43   #9 (permalink)
Genius
 
Benutzerbild von f@gju
 
Registriert seit: Sep 2003
Ort: Banned into Jail
Beiträge: 650
@geheimrat das ist ein include in der php datei
__________________
Klick hier
f@gju ist offline   Mit Zitat antworten
Alt 30-09-2003, 14:47   #10 (permalink)
paranoid...
 
Benutzerbild von Geheimrat
 
Registriert seit: Aug 2002
Ort: Marburg
Beiträge: 1.003
ach so...
__________________
...ich sag's nur meinem Fanblog: ICH BLOGGE !
Geheimrat ist offline   Mit Zitat antworten
Alt 30-09-2003, 14:54   #11 (permalink)
the matrix has you
 
Registriert seit: Nov 2001
Ort: Psion
Beiträge: 832
Zitat:
Geschrieben von f@gju
was ist das für eine include datei???

PHP-Code:
include ("/a/bbb/ccccc/config.inc.php4"); 
sie stellt nur den DB-Connect mit username und pw her! sonst is da nix drinnen.

code:
<?php
$database= "xxxxx";
$sqlhost= "localhost";
$sqluser= "xxxxx";
$sqlpass= "xxxxx";

$verbindung = mysql_connect ( $sqlhost, $sqluser, $sqlpass);
if (!$verbindung) {
echo "Keine Verbindung zur DB möglich!\n";
exit;
}
mysql_select_db($database);
?>
__________________
!NO RISK - NO FUN!

Geändert von neohacker (30-09-2003 um 14:56 Uhr)
neohacker ist offline   Mit Zitat antworten
Alt 30-09-2003, 15:27   #12 (permalink)
Genius
 
Benutzerbild von f@gju
 
Registriert seit: Sep 2003
Ort: Banned into Jail
Beiträge: 650
oke bei mir funzts so halb
hab halt nich deine DB

aber flash hat varis versendet und php zurück und flash hat richtig angezeigt

also folgendes habich geändert (ist code von ganzem php file hatte keine lust alle änderungen speziell und so)

ach ja variabeln die an flash weitergegeben werden solltest du so übergeben:
Code:
"&var=inhalt" //das & ist sehr wichtig
PHP-Code:
<?php
//include ("/a/bbb/ccccc/config.inc.php4");

//### WICHTIG: Vor Anlegen Check in DB-Tab ob Username und PW schon einmal vergeben wurden!!! ###
$checkuser mysql_query("SELECT USERNAMEifa, PWifa FROM IFaccounts WHERE USERNAMEifa='$ifusername' OR PWifa='$ifpw'");//das und
$anzahl mysql_num_rows($checkuser); //das musste ich ausblenden, weil ich ja eben db nicht habe und da hats halt bei mir gehangen

if ($anzahl==0) {
   
$date date("Y-m-d");
   
$ip getenv(REMOTE_ADDR); //ob das stimmt glaube ich nicht entweder $REMOTE_ADDR oder "REMOTE_ADDR"

   //User-Nr generieren - Zusammensetzung: aktuelles Datum + 4500 [Beginnnummer] (zB: 200308284500)
   
$lesen mysql_query("SELECT ACCOUNTNOifa from IFaccounts ORDER BY IDifa DESC LIMIT 0,1") or die(mysql_error());
   
$row mysql_fetch_array($lesen) or die(mysql_error());
   
$oldNumberFull $row["ACCOUNTNOifa"];
   
$oldNumber = ((int)substr($oldNumberFull84));
   
$newNumber $oldNumber+1;
   
$newDate str_replace("-","",$date); 
   
$newAccNo $newDate.$newNumber;
   
//echo ($newAccNo);

   
$sqlaccountinfos mysql_query('INSERT INTO IFaccounts (USERNAMEifa, PWifa, ACCOUNTNOifa, EMAILifa, IPifa, DATEifa, FIRSTNAMEifa, SURNAMEifa, STREETifa, PZCTOWNifa, COUNTRYifa) VALUES ('.$ifusername.', '.$ifpw.', '.$newAccNo.', '.$ifemail.', '.$ip.', '.$date.', '.$ifvorname.', '.$ifzuname.', '.$ifstrasse.', '.$ifplzort.', '.$ifland.');'); // das habich auch geändert

   
echo ("&userdouble=no"); //### AUCH EIN ECHO DIREKT IN DER DATEI FUNKT NICHT!!!###
   
$usrdoub "no";
   
$data '<?php\necho "userdouble='.$usrdoub.'";\n?>';
   
$fp fopen('ifuserdouble.php','w'); 
   
fwrite($fp,$data,strlen($data)); 
   
fclose($fp);
                            
   
//Email an User
   
$betreff "deine registrierung";
   
$newmail $newmail."\n";
   
$newmail $newmail."bla\n";
   
$newmail $newmail."bla\n";
   
$newmail $newmail."bla\n";
   
$newmail $newmail."\n";                       
   
$newmail $newmail."bla\n";
   
$newmail $newmail."bla\n";
   
$newmail $newmail."bla\n";
   
$newmail $newmail."\n";                                                                                                                                          
   
$Abs "mail@mk.de";
   
mail($ifemail$betreff$newmail'FROM:'.$Abs);

   
//Email an mich
   
$betreff2 "neuer user registriert";
   
$newmail2 $newmail2."\n";                     
   
$newmail2 $newmail2."bla\n";
   
$newmail2 $newmail2."bla\n";
   
$newmail2 $newmail2."bla\n";
   
$newmail2 $newmail2."\n";                                                                                                                                           
   
$User "User";
   
mail("erichgsi@gmx.at",$betreff2,$newmail2,"FROM:$User");

} else {
   echo (
'&userdouble=yes'); //Das ist bei mir angekommen
   
$usrdoub "yes";
   
$data 'usrdoub == yes man';  //geändert 
   
$fp fopen('var.log','w');  //in var.log geändert 
   
fwrite($fp$data9999999); //hab das mal in 9999999 geändert naja wer weiss *hehe*
   
fclose($fp);
}
?>
änderungen im fla:

ActionScript:
  1. on (release) {
  2.             //LoadVariablesObjekt
  3.             IFvars = new LoadVars(); //IFvars ist eine Instanz vom LoadVars-Objekt
  4.             IFvars.ifvorname = _root.ifvorname; //.ifvorname ist die Variabelnbezeichnung wie sie an php verschickt wird
  5.             IFvars.ifzuname = _root.ifzuname;
  6.             IFvars.ifstrasse = _root.ifstrasse;
  7.             IFvars.ifplzort = _root.ifplzort;
  8.             IFvars.ifland = _root.ifland;
  9.             IFvars.ifusername = _root.ifusername;
  10.             IFvars.ifpw = _root.ifpw;         
  11.             IFvars.ifemail = _root.ifemail;
  12.             IFvars.sendAndLoad("ifnewaccount.php", IFvars, "POST"); //Das hier hat scho gestimmtet
  13.            
  14.             IFvars.onLoad = function() {
  15.                 trace (_root.userdouble);
  16.                 _root.ifusername = IFvars.userdouble; // hier kannste userdouble ansehen später musste dann das wegmachn
  17.                 if(IFvars.userdouble == "no"){
  18.                     _root.gotoAndStop("ifsuccess");
  19.                 } else {
  20.                     _root.gotoAndStop("iffailure");
  21.                 }
  22.             } //funktion
  23.             //gotoAndStop (2); //spiele punktesequenz
  24.             _root.oknewacc = 1; //klick auf OK wird nach ab dem zweiten Klick ignoriert
  25.             _root.anlegen = 1;
  26.         }
  27.     }
  28. } //end onrelease
  29.  



so hoffe es hilft war ne mords arbeit
__________________
Klick hier

Geändert von f@gju (30-09-2003 um 15:29 Uhr)
f@gju ist offline   Mit Zitat antworten
Alt 01-10-2003, 14:48   #13 (permalink)
the matrix has you
 
Registriert seit: Nov 2001
Ort: Psion
Beiträge: 832
hab mir deine änderungen jetzt genau angesehen und hätte noch ein paar fragen bevor ich's einbaue:

PHP
1.
Warum ist das "&" so wichtig für flash wenn ich in php per echo eine variable ausgebe?

2.
wieso hast du beim INSERT-Befehl einen punkt am anfang und am ende jeder variablen gemacht?
'.$ifusername.' => hat das was mit Flash zu tun?

3.
PHP-Code:
fwrite($fp$data9999999); //hab das mal in 9999999 geändert naja wer weiss *hehe* 
==> ist mir nicht ganz klar warum du das geändert hast!?!?!

Anm.:
REMOTE_ADDR hab ich auf "REMOTE_ADDR" geändert obwohl auch meine version einwandfrei hingehauen hat.

FLASH
4.
ActionScript:
  1. IFvars.sendAndLoad("ifnewaccount.php", IFvars, "POST"); //Das hier hat scho gestimmtet
  2.  
==> die Syntax paßt zwar, aber wenn man ein Target angibt (IFvars) dann macht Flash jedesmal ein neues Browserfenster auf wo der komplette Pfad inkl. Variablen drinnensteht. Das will ich nicht!!!

5.
Der ganze Ablauf liegt ja auf dem Button. Ist es wirklich so, dass Flash solange auf php wartet bis "$userdouble" kommt?? durchläuft es da eine interne schleife?? ich meine, wie weiß flash wieviele var's von php kommen und vor allem WANN diese kommen bzw. ob schon alle var's da sind?

Kann ich den onLoad-Teil eigentlich auch auf das zweite Frame in meiner fla legen damit wenigstens 'ne Punktesequenz abgespielt wird? sonst tut sich ja augenscheinlich für den user nix während flash auf php wartet.
__________________
!NO RISK - NO FUN!

Geändert von neohacker (01-10-2003 um 14:50 Uhr)
neohacker ist offline   Mit Zitat antworten
Alt 01-10-2003, 15:18   #14 (permalink)
Genius
 
Benutzerbild von f@gju
 
Registriert seit: Sep 2003
Ort: Banned into Jail
Beiträge: 650
hui fragen über fragen

also 1. das & grenz die variabeln ab (soweit ich weiss)
also &var1=blablabla&var2=blablabla&var3=blablabla so halt

2. weil du ja einen string zusammensetzt den du als sql abfrage zurückschuickst
eigentlich passiert folgendes
(das hat nix mit flash zu tun)
PHP-Code:
$var2 "yay";
$var3 "huhu";
$var1 $var2."_".var3;

//das heisst $var1 = "yay_huhu"; 
3. das habich halt einfach so geändert halt aus spass und so spielt überhaupt keine rolle

4. Also bei mir wird da nix angezeigt

5. Keine Ahnung hab Flash ned mitentwickelt
Du kannst ja vor dem sendAndLoad einfach n mc mit ani starten udn den dan in der onLoad wieder stoppen. und schon hasde deine Loading ani, und es gibt glaub auch noch LoadVars.getBytesLoaded damit kannst glaubich sogar prozentangabe machn und so wie lange das geht, aber ich denke wende nur userdouble zurückgibst ist das nicht so sinnvoll, weil du ja dann mehr zeit inz einfügen investierst, als in das versenden der varis von php an flash.

naja pizn
__________________
Klick hier
f@gju ist offline   Mit Zitat antworten
Antwort

Lesezeichen

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 06:51 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele