| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Oct 2011
Beiträge: 77
| As3 <> PHP <> SQL
Hi, hab folgendes Problem.Die Funktion write_func tut eigentlich das was sie tun muss , sie schreibt in die sql datenbank aber ich bekomme die sys_var in der Funktion onComplete_write nicht zurück als Bestätigung; FEHLERMELDUNG: undefined Falls ich es es so aufrufe: Code: ausgabe.text=""+ev.target.data; Code: write_func ();
function write_func () {
var phpVars:URLVariables = new URLVariables();
phpVars.titel = "mein_Titel";
var myURLRequest:URLRequest = new URLRequest("http://localhost/hp/php/write.php?"+String(Math.random()));
myURLRequest.method = URLRequestMethod.POST;
myURLRequest.data = phpVars;
var phpLoader:URLLoader = new URLLoader();
phpLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
phpLoader.load(myURLRequest);
phpLoader.addEventListener(Event.COMPLETE, onComplete_write);
}
function onComplete_write(ev:Event){
ausgabe.text=""+ev.target.data.sys_var;
} PHP-Code: ich hab davor eine read funktion geschrieben die nur die werte aus der datenbank mittels php in flash holt, klappt auch wunderbar nachdem ich URLLoaderDataFormat.VARIABLES verwendet habe. die sieht so aus: Code: read_php();
function read_php(){
var loader:URLLoader = new URLLoader(new URLRequest( "http://localhost/hp/php/read.php?"+String(Math.random()) ));
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, onComplete_read);
}
function onComplete_read(e:Event) { tex.text=e.target.data.result_flash_var; } PHP-Code: Falls jemand ne Idee hat wäre ich sehr dankbar ^^ Geändert von pixelsadist (25-10-2011 um 15:41 Uhr) |
| | |
| | #2 (permalink) | |
| Keine Panik Registriert seit: Apr 2010 Ort: Düsseldorf (im ernst)
Beiträge: 1.868
|
wenn das nicht nur ein Copy-Paste-Fehler ist, würd ich aufm ersten Blick vermuten, der stört sich an dem Leerzeichen vor <?php (das wird auch an den Client gesendet) URLVariables kann da recht zickig sein, aber eigentlich sollte da sowas wie "daten nicht Valide", oder so kommen Edith: Zitat:
Ediths Schwester: ich meine mit dem \r\n am ende hätte URLVariables auch Probleme also am besten das ganze mal trimmen: PHP-Code: Geändert von thomas_E (25-10-2011 um 16:57 Uhr) | |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Apr 2002
Beiträge: 496
|
das ist doch einfach urlencoded, und wird bei verwendung von urlvariables automatisch decoded, oder? deshalb das unterschiedliche verhalten...
__________________ Grafik - Webdesign - Programmierung - www.thsc.at Adventkalender 2011 advent.wien.info/de Jobspace - Universum der Lehrstellen www.jobspace.at |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Oct 2011
Beiträge: 77
|
Hab das ganze in eine Methode umgebaut und die php datei in eine art sql console umgeformt. So kann ich mein sql befehl dynamich in actionscript anpassen und mit nur einer php datei einfügen ändern, abfragen ,löschen etc.... Natürlich kann man sie noch erweitern verbessern. Für die weiterverarbeitung der variablen müsst ihr es in ein array packen und zerlegen oder entsprechend eurer variablen bei der übergabe anpassen. sql_console.php: PHP-Code: METHODE Code: public function sql_console_func (sql_command:String,onComplete_console:Function) {
var phpVars:URLVariables = new URLVariables();
phpVars.anfrage =sql_command;
var myURLRequest:URLRequest = new URLRequest("fif.php?"+String(Math.random()));
myURLRequest.method = URLRequestMethod.POST;
myURLRequest.data = phpVars;
var phpLoader:URLLoader = new URLLoader();
phpLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
phpLoader.addEventListener(Event.COMPLETE, onComplete_console );
phpLoader.load(myURLRequest);
} und der AUFRUF in AS3 Beispiel1: Code: function onComplete1(ev:Event){ tex.text =ev.target.data.antwort; }
dat.sql_console_func("INSERT INTO bilder_tab (datum,titel) VALUES (NOW(), 'bambam' )",onComplete1); Code: function onComplete1(ev:Event){ tex.text =ev.target.data.antwort; }
dat.sql_console_func("SELECT * FROM bilder_tab ORDER BY datum DESC ",onComplete1); Code: function onComplete1(ev:Event){ tex.text =ev.target.data.antwort; }
dat.sql_console_func( "UPDATE bilder_tab SET titel='meinbild1',datum=NOW() ",onComplete1); Beispiel4: Code: function onComplete1(ev:Event){ tex.text =ev.target.data.antwort; }
dat.sql_console_func("CREATE TABLE Bilder (bilderID int NOT NULL AUTO_INCREMENT,PRIMARY KEY(bilderID),Titel varchar(15),Datum date,Genre varchar(15))",onComplete1); Hoffe es hilft den einen oder anderen. Geändert von pixelsadist (26-10-2011 um 19:21 Uhr) |
| | |
| | #9 (permalink) | |
| Keine Panik Registriert seit: Apr 2010 Ort: Düsseldorf (im ernst)
Beiträge: 1.868
| Zitat:
Ich spiel Tetris mit deiner Datenbank. Zeile um zeile wird abgebaut ![]() ne mal im ernst, das ist ne beschissene Idee. so hebelst du, jedes bisschen Datenbanksicherheit aus, das PHP dir bietet. An so ner Stelle hast du glück, wenn dir irgend ein Script-Kiddie NUR die Datenbank löscht. Stell dir mal vor, jemand liest damit deine Datenbank aus, und dein Kunde bekommt wind davon, dass du Tür und Tor geöffnet hast. Dem bezahlst du sogar noch den Anwalt, mit dem er dich um Schadensersatz verklagt, und die Lohnkosten für deinen Nachfolger. Geändert von thomas_E (26-10-2011 um 12:26 Uhr) | |
| | |
| | #11 (permalink) |
| Keine Panik Registriert seit: Apr 2010 Ort: Düsseldorf (im ernst)
Beiträge: 1.868
| PHP-Code: wenn sich jemand für deine anwendung interessiert, wird er evtl einen Blick in den Quellcode riskieren (is eigentlich kein Risiko), und wenn derjenige dann sowas hier wittert, wird er vermutlich noch mehr interesse zeigen. schau mal hier rein: Schutz vor Code-Klau? PHP-Code: mach es, aber mach es richtig. Datenbank gehört auf den Server. idealerweise noch vom rest der Anwendung getrennt. Damit meine ich: ich hatte zuletzt zwei Klassen in PHP, eine die mir die DB-Verbindung aufbaut, und paar utility-Funktionen enthielt (inzwischen überflüssig durch MySQLi) und eine Klasse, die die Anfragen an die Datenbank als Methoden bereitstellt. Beispielcode: PHP-Code: zweiter Vorteil ist, ich kann jetzt bspw statt SqlFacade PHP-Code: |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Oct 2011
Beiträge: 77
|
ich könnte auch eine passwordabfrage bei jeder sql anfrage machen und somit wird nur die anfrage akzeptiert mit dem richtigen passwort , da kann niemand was löschen, sobald ich fertig bin werd ich es hier freigeben dann könnt ihr euer glück versuchen ^^
Geändert von pixelsadist (26-10-2011 um 16:13 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |