Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    ATTENZIONE - PHP e FLASH errore nel passaggio variabili

    Salve ragazzi,

    Vi segnalo un errore nel passaggio di variabili da PHP a flash 8, si può risolvere e raggirare, ma onde perdere tempo è meglio tenerne conto nella programmazione (io ci ho perso sopra una giornata).

    Esempio:
    Create una cartella "test" su un server che supporti PHP, o in locale se potete simulare.
    Create una pagina in PHP che passa una variabile

    <?

    echo "valore=ok";

    ?>

    chiamatela "prova.php" e salvatela nella cartella "test".

    ora aprite flash 8 e create un campo di testo dinamico con nome di istanza "testo".
    Ora nel primo frame aggiungete uno script che carica la variabile da php e la visualizza in "testo", in questo modo:

    carica = new LoadVars();
    carica.path = this;
    carica.onLoad = function() {
    this.path.testo.text = this.valore;
    };
    carica.load("prova.php");

    Pubblicate il file .fla in .swf e .htm, spostate i file .swf e .html in "test" e avviate l'html...

    Sorpresa!!!
    nella vostra finestra di testo sarà comparsa la parola "ok"... dunque, tutto giusto? tutto corretto??????

    NOOOOOOOOOOOOOOOOOOOOOOOO... non è tutto giusto, e non è nemmeno tutto corretto!!!!!!!!

    Perchè se voi rendete il vostro testo dinamico "selectable" (o "selezionabile" in Italiano) e provate a evidenziare la parola importata da PHP, noterete che non è "ok", ma "ok "!!!!!!!!!!!!!!!!!!

    CON UNO SPAZIO IN PIU' alla fine....
    Ho testato la cosa anche con altri script, ogni volta che passo variabili da PHP a flash, usando "echo" viene aggiunto uno spazio finale.
    Se ad esempio, come nel mio caso, quella variabile doveva essere il nome di una directory a cui flash deve fare riferimento... Uno spazio in più o uno spazio in meno fa la differenza...

    Cosa ne dite, lo considero un BAG o c'è una qualche logica informatica che lo rende "normale" :master:

    Vi allego i file per il test qua.

  2. #2
    Io ho provato e funziona perfettamente non c'è nessuno spazio in più, come confermato da un semplice trace sulla lunghezza della stringa, che mi restituisce 2 (appunto la lunghezza di "ok" senza alcuno spazio aggiuntivo).

    Provando con i file che hai postato inizialmente dava 4 come lunghezza, ma riscrivendo il file php (nello stesso file inviato da te, riscrivendo anche solo le ultime virgolette) funziona tutto correttamente. Forse c'era un errore nel tuo file, dovuto magari all'editor utilizzato

  3. #3
    ma uso dreamweaver come editor...

    Ti dava 4 col mio file??? gulp... neanche 3, 4!!!
    ma che virgolette hai usato??

    ho provato anche con l'apice ' al posto di "
    ma ottengo sempre quel dannato spazio.... non riesco a capacitarmi... tu mi dici che hai solo cambiato le virgolette del mio file??

  4. #4
    Ho usato le stesse identiche virgolette, semplicemente ho cancellato e riscritto l'ultima virgoletta (ma probabilmente avrebbe funzionato modificando qualsiasi carattere...però solo risalvando il file senza applicare modifiche non funzionava) e risalvato il file, usando PhpEdit (www.waterproof.fr).
    Col test che ho fatto io da zero, scrivendo direttamente il file con PHPEdit, non ho avuto il minimo problema, la stringa risultava esattamente di due caratteri

  5. #5
    Hai ragione cavolo

    ho provato a riscrivere il file .php con un editor di testo, e lo spazio scompare...

    Ora rimane il problema di capire come mai...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.