Von Flash MX PHP Script ausführen

Diablo@Net

Grünschnabel
Mein Flashmovie arbeitet über PHP mit MySQL zusammen. Soweit klappt auch alles, hab nur ich eines problem.

Wenn ich in dem Flash movie einen Button drücke, wodrüber ein PHP Script ausgeführt wird kann ich leider nichts weiterers in dem Movie machen. Ich muss den Movie erst aktualisieren bis ich wieder EIN PHP script ausführen kann.

Hatte jemand schon mal das Problem und kann mir weiterhelfen? Ich weiß auch nicht unter was ich suchen soll.

Bitte um eure Hilfe!
 
Hi -

poste mal das fla oder zumindest den näheren Codezusammenhang, weil von diesem Problem habe ich noch nie etwas gehört , und so allgemein wie du es beschreibst kann es gar nicht sein, da ich selber Flash Filme mache, die teilweise mehrfach in der Sekunde verschiedene PHP Skripte aufrufen, verarbeiten, Daten senden und empfangen.....

Grüsse
B
 
Das ist mein PHP script was durch den Flashmovie ausgeführt werden soll. Mit dem Script werden Daten an meine mySQL Datenbank gesendent. Wenn ich einmal den Button "Anmelden" drücke, wird alles erledigt. Wenn ich jedoch das zweite mal auf den Button "Anmelden" oder einen anderen Button drücke passiert nichts mehr.


PHP:
<?php
// Angaben zur Erstellung

$server="localhost";			//Name des Server 
$user="xealdes";			//Benutzer
$pass="Homebase";			//Passwort
$datenbank="xealdes";		                      //Datenbank auswählen
$tabelle="user";			//Tabelle auswählen
$rang="Anfänger";

// *ende* 
//Verbindung 
$hookup = mysql_connect( $server, $user, $pass) or die ("Leider fehlgeschlagen!");

// Kontrollabfrage mit Feedback

if ($hookup){

$feedback1="Verbindung hergestellt";
}
echo "&feedback1=$feedback1";

//Datenbank auswählen 

$debase=@mysql_select_db($datenbank,$hookup) or die ("Es konnte keine Datenbank gefunden werden");

// Kontrollabfrage mit Feedback 2 
if ($debase){
$feedback2="Verbindung mit Datenbank " . $datenbank . " hergestellt!";
echo "&feedback2=$feedback2";
}
if ($access1 == $access2 and $email1 == $email2){

$sql="INSERT INTO $tabelle (vorname, nachname, nickname, wohnort, bundesland, access1, icq, yahoo, aim, email1, homepage, rang) VALUES ('$vorname','$nachname','$nickname','$wohnort','$bundesland','$access1','$icq','$yahoo','$aim','$email1','$homepage','$rang')"; 


mysql_query($sql,$hookup);
$feedback4="Sie wurden erfolgreich angemeldet!";
echo ("&feedback4=$feedback4");
}else{
$feedback3="Falsches Password bzw. E-Mail Adresse fehlerhaft";
echo ("&feedback3=$feedback3");
}

?>


In meinem Flashmovie wird das script mit dem Befehl aufgerufen

Code:
on (press) {
	loadVariablesNum("http://mitglied.lycos.de/xealdes/anmelden.php",0,"GET");
}


Das ganze könnt Ihr euch auch im Netz aussehen unter http://mitglied.lycos.de/xealdes/Forum.swf
 
Zuletzt bearbeitet:
Hi,

erstens bei loadVariables immer mit POST arbeiten (Erklärung hier im Forum, hab jetzt keine Zeit dir das auseinander zu setzen).
zweitens : seit MX bitte immer das loadVars Objekt benutzen, Referenz dazu in der Flashhilfe oder aber auch hier im Forum - alleine das aufzählen der vielen verschiedenen Vorteile würde jetzt hier meinen Rahmen sprengen...nur kurz: für Probleme wie deines hast du alleine schon durch die besseren Debug - Möglichkeiten des Objektes viel mehr Gelegenheit Fehler zu erkennen und auszuschliessen......

Grüsse
B
 
Hey Basileus,

Wenn ich die Variablen mit POST versende klappt alles wunderbar. Werde mich dann noch ein bisschen schlau machen. Danke für Deine Hilfe, jetzt weiß ich entlich wo mein Fehler war.

Ciao

Diablo @ Net
 
hab da nochmal ne Frage!

Ich habe aus meiner mySQL Datenbank die Tabelle "User" ausgelesen. Die Daten haben ich dann an Flash weiter gegeben. Dazu gehört das Script

PHP:
...
mysql_select_db($tabelle,$hookup);

if (mysql_select_db) {
	$feedback66="Datenbank bereit";
	echo "&feedback66=$feedback66";
}
$result = mysql_query("SELECT vorname, nachname, nickname FROM $tabelle",$hookup);

while($row = mysql_fetch_array($result)) {

$temp1 .= $row[vorname].",";
echo "&vorname=" . $temp1;

$temp2 .= $row[nachname].",";
echo "&nachname=" . $temp2;

$temp3 .= $row[nickname].",";
echo "&nickname=" . $temp3;
}

mysql_close($hookup);

Jetzt zu meiner Frage. In meinem Flash Film wird in dem letztem Textfeld "nicknametxt" die Daten ausgegeben zusätzlich kommt noch was von java script dazu. Ich habe aber keine ahnung warum. Kannst du mir ba vielleicht auch weiterhelfen?

PHP:
</pre></xmp></noscript>


<script language="JavaScript">
<!--

function SymError()
{
  return true;
}

window.onerror = SymError;

//-->
</script>

<script language="javascript" src="http://ads.tripod.lycos.de/ad/test_frame_size.js"></script>

<script language="javascript">
if (!AD_clientWindowSize()) {
        document.write("<NOSC" "RIPT>");
}
</script>

<script type="text/javascript">
        function setCookie(name
 value
 expires
 path
 domain
 secure) {
           var curCookie = name   "="   escape(value)  
             ((expires) ? "; expires="   expires.toGMTString() : "")  
             ((path) ? "; path="   path : "")  
             ((domain) ? "; domain="   domain : "")  
             ((secure) ? "; secure" : "");
           document.cookie = curCookie;
        }

        var ad_url = "http://ads.tripod.lycos.de/ad/google/frame.php?_url=" escape(self.location) "
 
Hi,

ich hoffe ich habe dich jetzt richtig verstanden:
in deinem letzten dynamischen Textfeld erscheint nicht nur der gewünschte Text, sondern zusätzich noch etwas nicht erwünschtes..!

DU solltest deine Echo Befehle immer so aufbauen, das nach der letzten Variable immer noch ein & kommt, also die Ausgabe etwa so läuft: var1=dddd&var2=sss& - ich mache das meisstens so, das ich eine im Flash Film nicht benötigte Variable am Schluss per Echo übergebe, da sammelt sich dann der ganze
' Dreck '.
Die Daten die du da sehen kannst sind irgnedwelche Header Informationen des POST Transfers, Java Script kann sich da auch ansammeln, wenn du evtl. php in einer *.html Datei verwendest oder , oder , oder keine Ahnung.....


Grüsse
B
 
Habe jetzt meinen Echo Befehl erweitert mit dem & Zeichen vor und nach der Variable. Half aber auch nichts. Hab dann noch eine Varibale angefügt die mit gesendet werden soll. Damit hats funktioniert.

Jetzt hab ich das Problem das ich auf meinem Button im Flashmovie 2 mal klicken muss damit die Daten von PHP geladen werden. Hab es dann probiert mit dem LoadVars objekt was bei mir noch nicht geklappt hat. Hab ich das so richtig gemacht?

Daten = new LoadVars();
Daten.load("http://mitglied.lycos.de/xealdes/useransicht.php",0,"POST");.

So hat's geklappt
loadVariablesNum("http://mitglied.lycos.de/xealdes/useransicht.php",0,"POST");

Danke für deine Hlfe
 
Hi -
das ,0 in deinem LoadVars Objekt war falsch, da wir ja nicht in ein Stufe laden, sondern in ein Objekt, nämlich eben das mit new instanzierte LoadVars Objekt, dessen Bezeichner anstatt der 0 erwartet wird.....
PHP:
System.useCodepage = true;
_root.Kapitel = new LoadVars ();
_root.Kapitelpath = "http://www.xxx.org/xxx/Chapter.php?dbtab=Chapter1&datum=" + new Date ().getTime ();
_root.Kapitel.sendAndLoad (_root.Kapitelpath, _root.Kapitel, "POST");
_root.Kapitel.onLoad = function () {
	stat._visible = 1;
	stat.BaseStat ();
	stat.Loaded = true;
};

der on Load Handler dürfte dir gefallen, von wegen 2 mal drücken und so.....wie du merken wirst, hast du erst mit diesem Objekt alles so richtig im Griff....

Grüsse
B
 
Also mit dem LoadVars Objekt komm ich immer noch nicht klar. Bin wohl einfach zu doof dafür. Könntest du Dir vielleicht mal die Flash datei ansehen?

Du musst dann mal auf den Button "Userliste" klicken, da soll dann das AS rein.
 

Anhänge

  • forum.zip
    12,4 KB · Aufrufe: 49
Zuletzt bearbeitet:

Neue Beiträge

Zurück