- Home
- Categorie
- Coding e Sistemistica
- PHP
- Form con checkbox in più pagine.
-
Form con checkbox in più pagine.
Ciao a tutti, sempre riguardo il passaggio di variabili tra una pagina e l'altra io vorrei sapere come si fa nel caso in cui invece di un campo di testo, ci si trova a dover passare un array di elementi come ad esempio i checkbox.
Ps: l'articolo a cui mi riferisco è questo: giorgiotave.it/guida_php/campi_nascosti.php .
Vi ringrazio anticipatamente
Gianmaria
-
Ciao Ginamaria,
Puoi usare la funzione serialize, per passare gli array, e dopo la codifichi.
Nella pagina successiva prima la decodifichi e dopo utilizzi la funzione unserialize per riportare il tutto all'array.Altrimenti puoi fare semplicemente un campo nascosto per ogni checkbox.
-
Grazie per il consiglio, però ho commesso qualche errore perchè poi mi passa solo l'ultimo valore e non tutti quanti.
Questo è quello che ho fatto:pagina1.php:
$interests =(serialize($interests));
$interests=(urlencode($interests));
pagina2.php:
$interests=(urldecode($interests));
$interests =(unserialize($interests));
E il risultato è quanto detto prima..
-
Il contenuto di $interests in pagina 1 qual'è?
-
Il contenuto di $interests viene passato da una pagina precedenre in cui c'è questo input <input name="interests[]" value="dancing" type="checkbox">,<input name="interests[]" value="music" type="checkbox">...
-
Verifica con print_r($_POST['interests']) che venga passato un array.
-
Ho inserito quell' istruzione nella pagina1.php (sarebbe la pagina successiva a quella contenente <input name="interests[]" value="dancing" type="checkbox">,<input name="interests[]" value="music" type="checkbox">... ) e l'output è stato questo:
Array ( [0] => dancing [1] => enviroment [2] => gardening [3] => sport ) dancing, enviroment, gardening, sport,
se invece la metto nella pagina2.php mi dà questo:
animals, antiques, art, astrology, camping, cars, chess, computer, cooking, crafts, dancing, enviroment, Exchangee ora ??
-
Ciao,
i dati a pagina1 arrivano correttamente, li serializzi e li codifichi con urlencode... ma come passi il dato $interests da pagina1 a pagina2?
-
Ed è proprio questo il punto che non so fare !!
-
Ah ecco! Abbiamo trovato l'inghippo!
Se nella pagina1 c'è un form dove inserisci altri dati da inviare alla pagina2, ti basta inserire un campo input di tipo hidden che contenga il dato serializzato.
[PHP]
<input type="hidden" value="<?php echo $interests; ?>" name="interests" />
[/PHP]In pagina2 lo recuperi normalemente con $_POST (o $_GET) e lo de-serializzi.
Alessandro