• User

    Serialize Array

    Salve a tutti, ho creato le seguenti pagine:

    selezione-dati.php
    visualizzazione-riepilogo.php
    invio.php

    Nella pagina selezione-dati.php con l'ausilio di jquery mi creo un array di oggetti che mando a visualizzazione-riepilogo.php che me li mostra in una lista (<li>..</li>) ed in questa pagina se tutto è ok per l'utente attraveso un input submit mando i dati a invio.php

    Per provare a far ciò nella pagina visualizzazione-riepilogo.php ho questo codice

    [PHP]
    <?php
    echo ("\n<div style='width:600px;'>\n");
    $lista = "<ul class='asmList ui-sortable asmListSortable'>";
    foreach($items as $item) {

            $lista.="\n\t<li class='asmListItem' style='display: block; height: 22px;'><span class='asmListItemLabel'>" . htmlspecialchars($item) . "</span></li>";
                    }
    $lista.="</ul>";
    echo $lista;
    echo "\n</div>";
    

    ?>
    <input type = "hidden" name = "items" value = "<?php echo serialize($items); ?>">
    [/PHP]

    mentre nella pagina invio.php ho inserito questo:

    [PHP]
    $items = unserialize($_POST['items']);

    $lista = "<ul class='asmList ui-sortable asmListSortable'>";

    foreach($items as $value) {
        $lista.="\n\t<li class='asmListItem' style='display: block; height: 22px;'><span class='asmListItemLabel'>" . htmlspecialchars($value) . "</span></li>";
    }
    $lista.="</ul>";
    

    [/PHP]

    Ma non mi invia assolutamente nulla... suggerimenti?


  • User Attivo

    Uhm, senza vedere altre parti di codice o la pagina incriminata non è facile ma potrebbe esserci qualche carattere che da fastidio all'HTML, quindi ti suggerisco di iniziare usando
    [PHP]htmlspecialchars()[/PHP]
    cioè:
    [PHP]<?php echo htmlspecialchars(serialize($items)); ?>[/PHP]


  • User

    Ho risolto codificando prima dell'invio tutto in base64 e decodificandolo successivamente.