Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    310

    Passare un array tramite post

    Ciao a tutti,

    Ho creato un array di oggetti, come posso passarlo ad un'altra pagina tramite post?

    quando provo a passarlo cosi:

    nella pagina del form

    <input type="hidden" name="mio_array" value ="<?=$mio_array?>">

    nella pagina successiva mi crea una variabile che contiene la stringa "array"

    dove sbaglio?


    Come faccio a passarlo?

    Grazie

  2. #2

  3. #3

    Re: Passare un array tramite post

    Originariamente inviato da robyd
    <input type="hidden" name="mio_array" value ="<?=$mio_array?>">

    nella pagina successiva mi crea una variabile che contiene la stringa "array"
    dove sbaglio?
    Sbagli nel modo di far visualizzare l'array...sono sicuro che fai tipo:

    codice:
    print $_POST['mio_array'];
    o qualcosa di equivalente...prova con:
    codice:
    print_r($_POST['mio_array']);

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    Re: Re: Passare un array tramite post

    Originariamente inviato da LeaderGL
    Sbagli nel modo di far visualizzare l'array...sono sicuro che fai tipo:

    codice:
    print $_POST['mio_array'];
    o qualcosa di equivalente...prova con:
    codice:
    print_r($_POST['mio_array']);
    e dopo che si è passato l'array nella forma che ti da print_r cosa se ne fa secondo te?

    ciao

  5. #5
    beh se il suo scopo è passare un array evidentemente saprà anche come sarà strutturato questo array ed usare i dati nel modo che vuole.

    Se sa che l'array presenterà degli indici numerici userà un FOR (ad esempio) per leggere i vari dati e farne ciò che vuole.

    Oppure se è un array associativo misto forse saprà anche i campi di cui è composto e quindi li leggerà e li userà.

    Anche se usasse "serialize" non se ne farebbe niente a meno che non deve memorizzarlo in un database...

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    forse non hai capito,

    con print_r nella pagina che riceve i dati post otterrebbe qualcosa del genere:

    codice:
    $a = array('pippo' => 1, 'pluto' => 2, 'paperino'=>3);
    
    print_r($a); // Array ( [pippo] => 1 [pluto] => 2 [paperino] => 3);
    quindi avrebbe una variabile di qui fare il parsing.

    mentre con serialize il risultato sarebbe :

    codice:
    echo serialize($a); // a:3:{s:5:"pippo";i:1;s:5:"pluto";i:2;s:8:"paperino";i:3;}
    assegnando il risultato a una variabile e passandola alla funzione unserialize riotterrebbe l'array con tutta la sua struttura, senza doversi preoccupare di fare il parsing della variabile ottenuta.

    Chiaro ?

    ciao

  7. #7
    si, ma il mio discorso era diverso.

    dal suo post, qui:
    nella pagina successiva mi crea una variabile che contiene la stringa "array"

    dove sbaglio?
    io ho capito che evidentemente non sapeva come fare a gestire la variabile ritornata da php, ovvero in questo modo:

    codice:
    nome = $_POST['mio_array']['nome'];
    e si pensava che il dato passato fosse "errato" gli ho quindi suggerito di stamparlo con print_r invece che con print in modo che capisse che in realtà era andato tutto bene.

    Poi ovvio che non se ne fa niente ne di print_r e ne tantomeno di serialize in quanto dopo cmq deve gestire i dati e quindi l'array (che nel caso d'uso di serialize dovrebbe prima ripristinare con unserialize).

    Quindi il mio post era solo per fargli capire che in realtà di dati passati c'erano...bisogna solo sapere come leggerli.

  8. #8
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    questo non è il migliore metodo ma sicuramente funzia...

    Codice PHP:
    foreach ($mio_array as $val)
     echo 
    "<input type=\"hidden\" name=\"mio_array[]\" value =\"$val\">"
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

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 © 2024 vBulletin Solutions, Inc. All rights reserved.