Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-12-2006, 13:03   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 111
php: laden-bearbeiten-speichern-neuladen

Hallo, schon wieder ein problemchen....

ich hab ein Textfeld (wenn es möglich ist, hätte ich auch gern mehrere, aber eines reicht erstmal) in das per LoadVars aus einer Textdatei (aktuelles.txt) ein Text geladen wird (var_aktuelles).

PHP-Code:
ladeText = function () {
    
myData2 = new LoadVars();
    
myData2.load("aktuelles.txt");
    
//Callback handler and binding
    
myData2.onLoad = function(succes) {
        if (
succes) {
            
textfeld.htmlText this.var_aktuelles;
            
load_vita this.var_vita;
        } else {
            
trace("Error loading data");
        }
    };
};

this.onEnterFrame ladeText(); 

Das Textfeld ist ein Eingabefeld und der User soll darin den enthaltenen Text bearbeiten, formatieren etc. können.

Dann gibt es noch einen Button (submit) und wenn man den drückt, soll der Text wieder an seiner alten Stelle in der txt-Datei gespeichert werden (alten Text überschreiben). Das habe ich jetzt mit php versucht, klappt aber nicht so gut. Anschließend soll die neue Textversion wieder in das Textfeld neugeladen werden.

Was passiert ist, dass, sobald man den button drückt, das Textfeld (und auch die zugehörige Variable in der Datei) leer wird. Könnte sein, dass es daran liegt, dass die Datei neugeladen wird, während php noch mit dem schreiben beschäftigt ist?

Ich häng mal den ganzen Rattenschwanz mit an, aber wenn sich jemand damit gut auskennt ist es glaube ich schneller die relevanten Funktionen neu zu schreiben, als sich in meine Strukturen reinzudenken.

Danke schonmal vorab :-)

die php (admin.php):
PHP-Code:
<?php
   
//Capture data from $_POST array
   
$title $_POST['Title'];
   
$var_aktuelles $_POST['var_aktuelles'];
   
$var_vita $_POST['var_vita'];

   
//Make one big string in a format Flash understand
   
$toSave "Title=".$title."&var_aktuelles=".$var_aktuelles."&var_vita=".$var_vita;
   
//Open a file in write mode
   
$fp fopen("aktuelles.txt""w");
   if(
fwrite($fp$toSave)) echo "writing=Ok";
   else echo 
"writing=Error";
   
fclose($fp);   
?>
und die funktion zum schreiben:
PHP-Code:
myData = new LoadVars();
myData.onLoad = function() {
    
GVadmin.ladeText();
    if (
this.writing == "Ok") {
        
checker.gotoAndPlay("ok");
    } else {
        
checker.gotoAndPlay("failure");
    }
};

submit1.onRelease = function(){
    
myData.var_aktuelles textfeld.htmlText;
    
myData.var_vita load_vita;

    
myData.sendAndLoad("admin.php"myData"POST");
        
trace("aktuelles =  "+myData.var_aktuelles);
    
trace("vita=  " myData.var_vita);
//!!!FLASHFORUM!  Die Variablen werden korrekt an php übergeben (gesamter Text inkl. Formatierungen) aber nicht mehr in der Datei gespeichert :-(
}; 
__________________
O Genie der Herr ehre dein Ego
Beezle-Bug ist offline   Mit Zitat antworten
Alt 25-12-2006, 19:59   #2 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
aloha!

das mit php weiß i net, aber zum beispiel:

PHP-Code:
ladeText = function () { 
    
myData2 = new LoadVars(); 
    
myData2.load("aktuelles.txt"); 
    
//Callback handler and binding 
    
myData2.onLoad = function(succes) { 
        if (
succes) { 
            
textfeld.htmlText this.var_aktuelles
            
load_vita this.var_vita
        } else { 
            
trace("Error loading data"); 
        } 
    }; 
}; 

this.onEnterFrame ladeText(); // das ist net gut, weil die somit, so hoch/oft, wie du die bildrate bei deinem flash eingestellt hast, diese function aufgerufen wird("onEnterFrame");
//also:
this.onLoad = function(){
ladeText();
//oder nur:
ladeText();

dann:

PHP-Code:
myData = new LoadVars(); 
myData.onLoad = function() { 
    
GVadmin.ladeText(); 
    if (
this.writing == "Ok") { 
        
checker.gotoAndPlay("ok"); 
    } else { 
        
checker.gotoAndPlay("failure"); 
    } 
}; 

submit1.onRelease = function(){ 
    
myData.var_aktuelles textfeld.htmlText
    
myData.var_vita load_vita

    
myData.sendAndLoad("admin.php"myData"POST"); 
        
trace("aktuelles =  "+myData.var_aktuelles); 
    
trace("vita=  " myData.var_vita); 
//ich denke mal, dass das zu schnell abgehandelt wird, also:

submit1.onRelease = function() {
    
myData.var_aktuelles textfeld.htmlText;
    
myData.var_vita load_vita;
    
myData.send("admin.php"myData"POST");
    var 
neueAbfrage setInterval(function () {
        
clearInterval(neueAbfrage);
        
myData.load("wasauchimmer");
        
myData.onLoad = function(success) {
            if (
success) {
                
trace("aktuelles =  "+myData.var_aktuelles);
                
trace("vita=  "+myData.var_vita);
            }
        };
    }, 
1500);
}; 
bin jetzt aber net so des flash-php-flash- genie;
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 26-12-2006, 09:32   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 111
Hi,
ich bin mir nicht sicher was ich in
Zitat:
var neueAbfrage = setInterval(function () {
clearInterval(neueAbfrage);
myData.load("wasauchimmer");
myData.onLoad = function(success) {
für "wasauchimmer" einfügen soll. Habs jetzt mal mit "aktuelles.txt" probiert, also der textdatei in der alle variablen gespeichert sind, mit "admin.php" und auch mit toSave (ohne Anführungsstriche), da das meiner Meinung nach die Variable ist, die von php übergeben wird, siehe oben.

Hat alles nichts genützt, als Konsequenz wird einfach nur ein neues Browserfenster geladen, in dem dann entweder nichts oder "writing=ok" steht, also die AUsgabe der php Datei.

Ich Anfänger habe der einfachheit halber auf der admin-Seite mit mehreren Stopfames gearbeitet. Auf jedem kann man ein anderes Textfeld (aktuelles, vita, kontakt,....) bearbeiten und mit einer Navileiste zwischen den Frames hin und herspringen (gotoAndStop("vita")).
Könnte das stop(); am Ende jedes Frames eventuell das ausführen von vorherigen Skripts blockieren? Ist mir nur gerade eingefallen.
__________________
O Genie der Herr ehre dein Ego

Geändert von Beezle-Bug (26-12-2006 um 09:48 Uhr)
Beezle-Bug 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 00:48 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele