ciao.
non capisco come mandare un array ad un'altra pagina.
ho provato con post ma mi da un errore di questo tipo:
Warning: Illegal offset type
probabilmente l'ho usato in maniera scorretta... nessuno sa illuminarmi please?
![]()
ciao.
non capisco come mandare un array ad un'altra pagina.
ho provato con post ma mi da un errore di questo tipo:
Warning: Illegal offset type
probabilmente l'ho usato in maniera scorretta... nessuno sa illuminarmi please?
![]()
in che senso mandare ad un altra pagina? con un form?
con un link?
l'array è dentro il db mysql?
allora,
ho queste variabili ipotetiche:
$a [pippo]
$a [pluto]
$a [paperino]
e voglio mandarle alla pagina "successiva" in modo che siano disponibili anche la. Il problema è che non so quanto è lungo l'array e quindi non le posso specificare singolarmente in un indirizzo.
vorrei fare una cosa del tipo: $_POST[$a] ma la sintassi non è sicuramente corretta...
Ciao,
sono rari i casi in cui sia utile inviare via HTTP un intero array, comunque puoi risolvere la cosa in due modi
1) con HTML, es.
<input type="text" name="a[pippo]" id="a[pippo]" />
<input type="text" name="a[pluto]" id="a[pippo]" />
<input type="text" name="a[paperino]" id="a[pippo]" />
I questo modo all'invio del form $_POST conterrà la variabile
$_POST['a'] che sarà un array che contiene le chiavi pippo, pluto e paperino
2) Oppure puoi serializzare l'array con la funzione serialize(), inserire il risultato in un campo hidden e successivamente applicare unserialize() a $_POST['nome_campo_hidden']
http://freephp.html.it/articoli/view_articolo.asp?id=74
per favore NIENTE PVT TECNICI da sconosciuti
pagina1.php
pagina2.phpcodice:$trasf = serialize ($a);
corretto?codice:$a = unserialize($trasf);
$a è l'array originale che avevo in pagina1.php?
Più corretto
$a = unserialize($_POST['trasf']);
per favore NIENTE PVT TECNICI da sconosciuti
devo passare un array a due dimensioni (tre se tengo conto anche dell'array $_POST) e pensavo di fare a meno delle sessioni, visto che la pagina che lo riceve è la stessa; ho letto con interesse le vostre soluzioni per quello a una dimensione (due se tengo conto anche dell'array $_POST) e anche a me funziona correttamente; purtroppo l'array a due dimensioni non riesco a passarlo, visto che quando eseguo lo script mi visualizza una tabella vuota...
so che c'è anche la possibilità di utilizzare le funzioni serialize e unserialize, ma prima volevo capire se era possibile risolvere il mio problema diversamente. E' impossibile passare un array a due dimensioni oppure ho fatto qualche errore nel codice? grazie
Codice PHP:
# ins_squadre.php / inserimento squadre
# ns è settato ed è il numero delle squadre
echo "<form action=\"ins_squadre.php\" method=\"post\">";
for ($i=1; $i<=$ns; $i++)
{
echo "<input type=\"text\" name=squadra[$i]['nome'] id=squadra[$i]['nome'] />nominativo ";
echo "<input type=\"text\" name=squadra[$i]['citta'] id=squadra[$i]['citta'] />località
";
}
echo "<input type=\"hidden\" name=\"nsquadre\" value=$ns />";
echo "<input type=\"submit\" name=\"immessi\" value=\"Conferma\" />";
echo "</form>";
Codice PHP:
# ins_squadre.php / visualizzazione squadre inserite
echo "<table border>";
for ($i=1; $i<=$ns; $i++)
{
$s=$_POST['squadra'];
$sq=$s[$i];
echo "<tr><td>".$sq['nome']."</td><td>".$sq['citta']."</td></tr>";
}
echo "</table>";
forse però con serialize e unserialize non posso fare proprio niente, visto che posso farlo solo quando ho acquisito tutti i valori dell'array, momento che coincide purtroppo anche con la pressione del submit e il richiamo della pagina, e a quel punto non serve più
come posso recuperare un array bidimensionale con la variabile superglobale $_POST ?
ah manca una riga dal listato 2 (subito dopo il commento) che non avevo trascritto, non vorrei trarvi in inganno, la variabile $ns è settata con il valore giusto (ho già verificato, quindi il ciclo lo fa, solo stampa delle variabili vuote...)
forse dovrei usare le sessioni?Codice PHP:
$ns=intval($_POST['nsquadre']);