Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20

Discussione: FlashVars e array

  1. #1

    FlashVars e array

    per passare le variabili da una pagina php ad un filmato di flash utilizzo FlashVars senza alcun problema. Ora però devo passare due array al filmato, e sembra non funzionare allo stesso modo. volevo sapere se è corretto scrivere, come il solito
    codice:
     <PARAM NAME=FlashVars VALUE="name=<? print $name ?>&points=<? print $points ?>">
    e se quindi devo cercare l'errore nel modo in cui richiamo gli array all'interno del filmato...
    Qualcuno saprebbe aiutarmi? purtoppo non ho trovato nulla sul passaggio di array...

  2. #2
    o passi l' array serializzato e lo deserializzi tramite l' oggetto Serialize di Sephiroth, oppure devi creare un indice dinamico ... esempio:

    $ar = Array( 'pippo', 'pluto' );
    $ar4flash = '';
    for( $a = 0, $b = &count( $ar ); $a < $b; $a++ ) {
    $ar4flash .= '&ar'.$a.'='.urlencode( $ar[$a] );
    }


    cosi' avrai qualcosa tipo:

    '&ar0=pippo&ar1=pluto'


    poi in flash per ricostruirti l' array farai qualcosa tipo:


    var ar:Array = new Array();
    var a:Number = 0;
    while( this['ar'+a] != undefined ) {
    ar.push( this['ar'+a++] );
    }

    // ar[0] sara' 'pippo'
    // ar[1] sara' 'pluto'

    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    vabbé, usavo l'array per non passare tutti i valori... (sono 10 per ognuno dei 2 array...) Utilizzerò la parte di php che suggerisci tu, tanto nel filmato non mi serve l'array, e poi richiamerò le singole variabili...
    grazie mille!

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    scusa andr3a, cosa vuol dire "passi l' array serializzato", cosa sarebbe un array serializato?
    Grazie

  5. #5
    credo si riferisca a questo

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    Grassie

  7. #7
    mamma mia quanti !!

    senti, andr3a, ho provato a mettere sia il codice php che quello di actionscript, ma non funzia. Mi commenteresti il codice da mettere in flash, perché non lo capisco (ormai sai quanto sono )...
    nel primo fotogramma vuoto ho messo il codice che hai scritto tu, e poi ho richiamato nel campo di testo dinamico le variabili (ar[0], ar[1] ecc.), però non funziona....

  8. #8
    usando la favolosa Serializer di sephiroth ...

    file prova.php
    codice:
    <?php
    $ar = Array();
    $ar[0] = 'pluto';
    $ar['pippo'] = 'paperino';
    echo '&array='.urlencode( serialize( $ar ) );
    ?>

    in flash
    codice:
    var fromPHP:LoadVars = new LoadVars();
    fromPHP.onLoad = function( s:Boolean ):Void {
    	if( s == true ) {
    		import it.sephiroth.Serializer
    		var unserialized:Object = new Serializer().unserialize( this['array'] );
    		
    		// PROVA
    		trace( unserialized.pippo ); // paperino
    		trace( unserialized[0] ); // pluto
    	}
    }
    fromPHP.load( 'http://localhost/prova.php' );
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    allora, scrivendo:
    codice:
    var fromPHP:LoadVars = new LoadVars();
    fromPHP.onLoad = function( s:Boolean ):Void {
    	if( s == true ) {
    		import it.sephiroth.Serializer ;
    		var unserialized:Object = new Serializer().unserialize( this['array'] );
    		// PROVA
    		trace( unserialized[0] ); // pluto
    	}
    };
    fromPHP.load( 'http://localhost/prova.php' );
    in output mi dà questi errori:
    Scene=Scene 1, Layer=Layer 1, Frame=1: Line 2: '{' expected
    fromPHP.onLoad = function( s:Boolean ):Void {

    Scene=Scene 1, Layer=Layer 1, Frame=1: Line 4: ';' expected
    import it.sephiroth.Serializer ;
    Scene=Scene 1, Layer=Layer 1, Frame=1: Line 9: Unexpected '}' encountered
    };
    (si aspetta parentesi e ppunti e virgola che ci sono?!? )

    [un'altra cosa, probabilmente molto : l'istruzione import it.sephiroth.Serializer è conosciuta da tutti i computer che hanno il plug-in di flash? non è che bisogna scaricare qualcosa?]

  10. #10
    stai su flash MX vero ? ...

    in caso devi installarti la versione per flashMX della serializer di sephiroth ( e vedere gli esempi per MX e non per MX2004 ), poi usa questo AS invece dell' altro:

    codice:
    var fromPHP = new LoadVars();
    fromPHP.onLoad = function( s ) {
    	if( s == true ) {
    		var unserialized:Object = new Serializer().unserialize( this['array'] );
    		
    		// PROVA
    		trace( unserialized.pippo ); // paperino
    		trace( unserialized[0] ); // pluto
    	}
    }
    fromPHP.load( 'http://localhost/prova.php' );
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.