- Home
- Categorie
- Coding e Sistemistica
- PHP
- Serialize Array
-
Serialize Array
Salve a tutti, ho creato le seguenti pagine:
selezione-dati.php
visualizzazione-riepilogo.php
invio.phpNella 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?
-
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]
-
Ho risolto codificando prima dell'invio tutto in base64 e decodificandolo successivamente.