Flashhilfe.de - Flash Community

Variable von Flash zu PHP senden und in SQL einbinden [Flash 10]

 


AntwortenRegistrieren Seite1  

t-stude#1
Benutzerbild von t-stude
Beiträge: 43
Registriert: Apr 2009

30.04.2011, 14:43

Grüß euch,

ich möchte das eine Variable (Button_text) an PHP gesendet wird, wenn auf einen Button gedrükt wird.
Die Variable wird auch an PHP gesandt, aber im PHP Code komm ich dann mit der Variabl nicht klar und kann sie überhaupt nicht einbinden.

Ich hoffe ihr könnt mir helfen.

PHP:
1
2
3
4
5
6
7
public function getAllThreadInfo($Button_ID) {
           
        $Thread_ID = $_GET['Button_text']; 
        echo'$Thread_ID';
           
        $stmt = mysqli_prepare($this->connection, "SELECT Text FROM $this->tablename WHERE PID=0 AND thread = '".$Thread_ID."'");   


Wenn ich die Funktion teste, bekomme ich bei $Thread_ID = $_GET['Button_text']; die Fehlermeldung, aber ich kann mir nich erklären warum.

Habt ihr eine Idee?
Schlagwörter: PHP, sql
Werbung
Beiträge: 0
Registriert: Feb 2016


willie33#2
Benutzerbild von willie33
Beiträge: 147
Wohnort: Qo'noS
Registriert: Nov 2009

01.05.2011, 09:48

Ich hab eine Frage: Welche Daten sendest du an PHP?
Loading comments...
t-stude#3
Benutzerbild von t-stude
Beiträge: 43
Registriert: Apr 2009

Themenautor/in

03.05.2011, 09:46

Also ich sende die ID des gedrückten Buttons an PHP und PHP arbeitet die Variable in die DB ein.
Das ganze erfolgt hier:
PHP:
1
2
3
4
5
6
7
8
9
function clickHandlerUpdate (event:MouseEvent):void 
                    {
                        //Button_id in Button_id table auf click ändern
                        var item:String;
                        item = clickedButton.id;
                        updateButton_idResult.token = buttonidService.updateButton_id(item);
                        trace("Pressed Button Ebene 0 = " + item);
                    }


Der buttonidService ist eine Datei die vom FlashBuilder automatisch erzeugt wird. Das ganze funktioniert auch. Das heißt wenn ich auf den Button mit der ID = 3 drücke, dann ändert sich auch sofort der Eintrag in der SQL DB.

Mein Problem ist jetzt, das der Code aber immer weiter läuft und ich nicht genau weis, wie ich den Eventhandler einarbeiten muss.
Den AS darf erst weiter laufen, wenn die Variable in der DB ist, da alle nachfolgenden AS Zeilen mit diesem Eintrag arbeiten.

Habe es so probiert: (leider ohne Erfolg)
ActionScript:
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
38
39
40
function clickHandler (event:MouseEvent):void
            {
                 var clickedButton:Button = Button(event.currentTarget);
                 for each (var b:Button in buttonArray)
                 {
                    b.alpha = (clickedButton === b)? .5 : .1; 
                    //b.enabled = (clickedButton === b)? .false : .false;
               }
                 
                 function clickHandlerUpdate (event:MouseEvent):void
                 {
                    //Button_id in Button_id table auf click ändern
                  var item:String;
                    item = clickedButton.id;
                    updateButton_idResult.token = buttonidService.updateButton_id(item);
                    trace("Pressed Button Ebene 0 = " + item);
                 }
                       
                 //Warten das SQL das Ergebnis abspeichert
               var variables:URLVariables = new URLVariables();
                 var phpUrl:URLRequest = new URLRequest("http://localhost/Seumes-letzter-Kader 06-debug/sqlform.php");
                 phpUrl.method = URLRequestMethod.GET;
                 phpUrl.data = variables;
                 
                 variables.button_text = clickedButton.id;
                 
                 var loader:URLLoader = new URLLoader();
                 
                 loader.addEventListener(Event.COMPLETE, completeHandler);
                 
                 try
                 {
                    loader.load(phpUrl);
                    alertWindow = Alert.show("Thread wird geladen...");
                 }
                 catch(error:Error)
                 {      
                    Alert.show("Thread konnte nicht geladen werden.");      
                 }
              }         


Habt ihr eine Idee wie ich das Script anhalten kann, sodass es erst weiter abgearbeitet wird, wenn wirklich der Datensatz geändert wurde?
ffflash#4
Benutzerbild von ffflash
Beiträge: 317
Registriert: Dec 2005

09.05.2011, 16:15

Im Grunde hängt das von dem Event.COMPLETE ab. Dazu musst du das Skript so strukturieren, dass weitere Schritte an dieser Stelle nur noch nach Abfertigung der Datenkommunikation weitergeführt werden können.

Also im Grunde wie folgt:
1. Daten an php senden. (urlloader)
2. per Event.COMPLETE abwarten, bis die Daten gesendet wurden
3. in PHP nach Fertigstellung der Datenbankkommunikation eine Variable per echo ausgeben, beispielsweise echo "returnVar=true" (oder false, wenn fehlgeschlagen).
4. in AS in dem Handler, der bei Event.COMPLETE aufgerufen wurde, einen neuen urlloader erstellen, der mithilfe von urlvariables auf die Reaktion des PHP-skripts wartet (returnVar).
5. Reaktion des PHP-Skriptes auswerten.
6. Weiter oder stoppen mit Fehler

Meintest du das? An welcher Stelle willst du denn stoppen?
Werbung
Beiträge: 0
Registriert: Feb 2016


springer#5
Benutzerbild von springer
Beiträge: 4909
Wohnort: zuhaus
Registriert: Apr 2004

09.05.2011, 17:27

hi,
also wenn du, wie du sagst, den button_text an die funktion sendest, weiss ich nicht was du in der funktion mit $_GET erreichen willst?

PHP:
1
2
3
4
5
public function getAllThreadInfo($Button_ID) {
           
        $Thread_ID = $_GET['Button_text'];  // ???? hier gibts keine GET parameter...
}


einen AMF service kannst du nicht per URLLoader ansprechen... das solltest du mit netconnection machen...
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
Geändert von springer am 09.05.11 um 17:28 Uhr

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de