Visualizzazione dei risultati da 1 a 10 su 10

Discussione: [PHP] unserialize

  1. #1

    [PHP] unserialize

    Ho questo piccolo problema, mmi serializzo dei dati da flash trami la clesse di sephyrot http://www.sephiroth.it/test/unserializer/index.php e spedisco i dati serializzati a php, finquì tutto bene, i dati a php arrivano corretti. Ora il problema è che php non li deserializza, oh tolto tutte le \ davanti ai doppi apici e poi ho fatto unserialize, ma la variabile è vuota, non riesco a capire il motivo. :master:

  2. #2
    Ho scoperto che si comporta in modo differente con browser diversi, opera e firefox. Con opera e firefox da flash non invia l'array multidimensionale, manda solo quella parte che non è multidimesionale e deserializza i dati, invece con IE invia i dati correttamente ma non li deserializza. Come faccio? Errore della classe per serializzare? o bug dei browser? contatto la macromedia? o riscrivo tutto il carrello? sono disperato

  3. #3
    Nessuno sa aiutarmi?
    please

  4. #4
    Utente bannato
    Registrato dal
    Aug 2001
    Messaggi
    696
    a me sembra + un problema di flash :master:

  5. #5
    Cioè i dati passati non sono serializzati in modo corretto? L'array in flash me lo costruisco dinamicamente in questo modo, poi spedisco l'array a php
    codice:
    var carrello=new Array();
    for(var y=1;y<_root.varInst;y++){
    	vuoto="vuoto"+y;
    	carrello[y]=new Array();
    	carrello[y]['articolo']=_root[vuoto].articolo.text;
    	carrello[y]['prezzo']=_root[vuoto].prezzo.text;
    	carrello[y]['quantita']=_root[vuoto].quantita.text;
    	carrello[y]['taglia']=_root[vuoto].taglia.text;
    	carrello[y]['parziale']=_root[vuoto].parziale.text;
    }
    carrello['totale']=_root.totale.totale.text;
    carrello['iva']=_root.iva.iva.text;
    carrello['total']=_root.total.total.text;
    carrello['nick']=this._parent.nick.text;
    import it.sephiroth.Serializer;
    var serial:Serializer = new Serializer();
    serialized_data = serial.serialize(carrello);
    var manda=new LoadVars();
    manda.cart=serialized_data;
    manda.send("verifica.php","_blank","POST");
    Mentre da php deserializzo con:
    Codice PHP:
    $app=str_replace("\\","",$_POST['cart']);
    $pippo=unserialize($app);
    print_r($pippo); 
    Ma a video non mi stampa nulla, se invece stampo il $_POST, mi vedo tutti i dati serializzati.

  6. #6
    Originariamente inviato da jeck
    ...
    var serial:Serializer = new Serializer();
    ...
    sicuro di aver usato la Serializer per AS2.0 ( FlashMX 2004 ) ???

    no perche' ci sono 2 versioni ... per di piu' prova con stripslashes in ricezione ( eppure in pvt m'avevi detto di aver risolto ... :master: )


    codice:
    $app = unserialize( stripslashes( $_POST['cart'] ) );
    print_r( $app );
    P.S. lo stripslashes va solo se hai magic_quote_gpc a 1
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    Originariamente inviato da andr3a
    sicuro di aver usato la Serializer per AS2.0 ( FlashMX 2004 ) ???

    no perche' ci sono 2 versioni ... per di piu' prova con stripslashes in ricezione ( eppure in pvt m'avevi detto di aver risolto ... :master: )


    codice:
    $app = unserialize( stripslashes( $_POST['cart'] ) );
    print_r( $app );
    P.S. lo stripslashes va solo se hai magic_quote_gpc a 1
    Si infatti avevo risolto, solo che stamamne come ho riacceso e provato non andava più. Forse perchè ieri sera avevo provato la nuova classe, ne ho viste 2 la 1.4 e la 1.5, così avevo provato a mettere la 1.5, forse sono anadta in conflitto le due. Ora tolgo tutto e rimetto.

  8. #8
    Originariamente inviato da jeck
    Si infatti avevo risolto, solo che stamamne come ho riacceso e provato non andava più. Forse perchè ieri sera avevo provato la nuova classe, ne ho viste 2 la 1.4 e la 1.5, così avevo provato a mettere la 1.5, forse sono anadta in conflitto le due. Ora tolgo tutto e rimetto.
    oltre a questo non usare mai
    $app=str_replace("\","",$_POST['cart']);
    al posto di stripslashes ... fanno cose differenti , usa stripslahses per questo tipo di processo
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    Nulla da fare, ho prima installato la versione 1.4 per mx2004 e non va bene, poi l'ho tolta e ho messo la 1.5, ma non va ugualmente. non so che fare sono disperato. Eppure ieri avevo installato la 1.4 e andava benissimo. Poi navigando sul sito ho visto la 1.5 e l'ho messa, da qual punto in poi non ha più funzionato. Se installo la classe nuova forse rimane qualche riferimento alla classe vecchia che potrebbe creare dei problemi?

  10. #10
    Sono qualche passo avanti, questo codice
    codice:
    for(var y=1;y<_root.varInst;y++){
    	vuoto="vuoto"+y;
    	carrello[y]=new Array();
    	carrello[y]['articolo']=_root[vuoto].articolo.text;
    	carrello[y]['prezzo']=_root[vuoto].prezzo.text;
    	carrello[y]['quantita']=_root[vuoto].quantita.text;
    	carrello[y]['taglia']=_root[vuoto].taglia.text;
    	carrello[y]['parziale']=_root[vuoto].parziale.text;
    }
    cicla nella root n clip (duplicati dinamicamente) e imposta nell'array multidimensionale i valori dei campi di testo che sono all'interno. Ora se faccio eseguire il ciclo solo una volta,(quindi duplico dinamicamente un clip solo chiamato cuoto1) funziona benissimo, php deserializza i dati correttamente, ma se faccio duplicare 2 clip php non riesce a duplicarli, avete idea di come risolvere questo problema?

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.