Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-02-2012, 19:57   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2012
Beiträge: 15
Von Flash nach PHP mittels JSON

Hallo Flasher,

ich möchte mehrere Nutzereingaben mittels JSON an PHP übergeben. Dabei wird ein Array oder ein einfacher String in ein JSON-Format gepresst. Hierfür habe ich eine eigene Methode geschrieben, die nicht weiter spannend ist und sich nur die Werte schnappt und Anführungszeichen bzw. Klammern drumherum schreibt.
Das Resultat in PHP schaut folgendermaßen aus:
Code:
{
    \"ID:113\":{
        \"Vorname\":\"dsf\",
        \"Nachname\":\"sdf\",
        \"EMail\":\"Buio@esf.me\"
    }
}
In PHP scheint es, dass ein json_decode sich an den \ stört, welche ich selbst nicht mit übergeben hab'.
Diese tauchen auch auf, wenn das JSON mittels externen Klassen (z.B. von Thanksmister) generiert wird.
Welcher Kniff entgeht mir?

Vielen Dank für eure Antworten.

Geändert von Lilos (04-02-2012 um 20:04 Uhr)
Lilos ist offline   Mit Zitat antworten
Alt 04-02-2012, 20:04   #2 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Zitat:
Zitat von Lilos Beitrag anzeigen
Das Resultat in PHP schaut folgendermaßen aus:
Code:
{
	\"ID:113\":{
		\"Vorname\":\"dsf\",\"Nachname\":\"sdf\",\"EMail\":\"Buio@esf.me\"
	}
}
In PHP scheint es, dass ein json_decode sich an den \ stört.
Kein wunder, die sollten da auch nicht sein. \" ist ja nur ein für den AS-Interpreter escapedes Anführungzeichen. Gespeichert als Datei sollte da schlicht ein " stehen!

Zitat:
Zitat von Lilos Beitrag anzeigen
Dabei habe ich eine eigene Methode geschrieben, die nicht weiter spannend ist und sich nur die Werte schnappt und Anführungszeichen bzw. Klammern drumherum schreibt.
Wie sieht denn Dein Code aus?


Zitat:
Zitat von Lilos Beitrag anzeigen
Diese tauchen übrigens auch auf, wenn das JSON mittels externen Klassen (z.B. von Thanksmister) generiert wird.
Das wundert mich aber Versuch's stattdessen mal mit der Klasse aus der as3CoreLib oder der seit FP11 intergrierten...
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 04-02-2012, 20:53   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2012
Beiträge: 15
Hey, danke für deine Antwort.
Ich hab es gerade nochmals mit der von dir verlinkten Klasse versucht. Auf den ersten Blick ändert sich nichts, jedoch habe ich mir die Daten - bevor sie an PHP übergeben werden - nochmals auf die Konsole geworfen.
Code:
[{"Nachricht":"H","EMail":"Buio@esf.me","Vorname":"World","ID":"113","Nachname":"Hello"}]
Schaut alles super aus. Scheinbar liegt das Problem nicht bei der Serialisierung sondern der Übermittlung oder Verarbeitung mittels PHP.

Mein Code zur Übermittlung an PHP schaut folgendermaßen aus. Eventuell erkennt jemand einen groben Schnitzer.
PHP-Code:
entriesToUpdateInJsonFormat JSON.encode(entriesToUpdate);

var 
requestUrl:String "php/update_data.php";
var 
request:URLRequest = new URLRequest(requestUrl);
request.method URLRequestMethod.POST;

var 
requestVariables:URLVariables = new URLVariables();
requestVariables.entriesToUpdate entriesToUpdateInJsonFormat;

logTrace(entriesToUpdateInJsonFormat);

request.data requestVariables;

var 
loader:URLLoader = new URLLoader();
loader.load(request); 
In PHP passiert nichts spannendes. Daten werden geschnappt und einmal decodiert und nochmals direkt wie sie in $_POST standen in eine Datei geschrieben.
PHP-Code:
if (count($_POST) != 0) {
    
$entriesToUpdateDecoded json_decode($_POST['entriesToUpdate']);

    
$fp fopen('data.txt''w+');
    
    
fwrite($fp$_POST['entriesToUpdate']);
    
fwrite($fp'-----------------------');
    
fwrite($fp$entriesToUpdateDecoded);
    
    
fclose($fp);


Geändert von Lilos (04-02-2012 um 20:56 Uhr)
Lilos ist offline   Mit Zitat antworten
Alt 04-02-2012, 21:05   #4 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Wahrscheinlich ist auf dem Server magicquotes an.
Schreib mal
PHP-Code:
fwrite$fpstripslashes($entriesToUpdateDecoded) ); 
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 04-02-2012, 21:23   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2012
Beiträge: 15
Boah. Es scheint alles zu funktionieren - das ist ja der Knaller.
Also die magicquotes muss ich mir jetzt wirklich mal durchlesen. Scheinen ja fiese Dinger zu sein
Vielen, vielen Dank an euch Beide
Lilos ist offline   Mit Zitat antworten
Alt 04-02-2012, 22:00   #6 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Und – nebenbei bemerkt – seit PHP 5 braucht man dieses fopen/fwrite-Gezeter nicht mehr, das geht mit einer einzigen Funktion: file_put_contents()
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JSON einbindung in Flash gurki ActionScript 3 1 20-07-2010 12:21
JSON in flash laden dinovelvet ActionScript 2 3 23-12-2009 20:49
JSON - Flash neo14 Flash mit XML und Webservices 4 26-03-2007 19:44
Dropdown aus MySQL mittels PHP nach Flash bringen... Bosstone Flash und Datenbanken 1 22-09-2006 21:42
Parameter aus HTML nach Flash übernehmen mittels dem JS2Flash-Trick Onkel_Alex HTML und CSS 0 20-06-2002 19:03


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele