phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Input array doppio

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Rispondi
Elranius
Utente
Utente
Messaggi: 1
Iscritto il: 17/08/2014, 17:05
Sesso: Maschio

Input array doppio

Messaggio da Elranius » 18/08/2014, 10:52

Buongiorno a tutti,

ho un problema nel gestire invio tramite post due liste di checkbox relative ad un'unico utente.

Codice: Seleziona tutto

$utente=$user['username'].'[]';

<input type="checkbox" name="'.$utente.'" value="1">
<input type="checkbox" name="'.$utente.'" value="2">
...

<input type="checkbox" name="'.$utente.'" value="100">
<input type="checkbox" name="'.$utente.'" value="200">
...
Scritto in questo modo, il risultato del Post risulta cosi:

Codice: Seleziona tutto

Array ( 
[action] => invia
[utente1] => Array ( [0] => 1 [1] => 2 [2] => 100 [3] => 200) 
[utente2] => Array ( [0] => 1 [1] => 2 [2] => 100 [3] => 200)
)
Quello di cui avrei bisogno io invece è di ricevere nella posizione $_Post['utente1'] due array del tipo:

Codice: Seleziona tutto

Array ( 
[action] => invia
[utente1] => Array ( 
                             [0] => Array ( [0] => 1 [1] => 2) 
                             [1] => Array ( [0] => 100 [1] => 200)
                           )
[utente2] => Array ( 
                             [0] => Array ( [0] => 1 [1] => 2) 
                             [1] => Array ( [0] => 100 [1] => 200)
                           )
)
Oppure ancora meglio:

Codice: Seleziona tutto

Array ( 
[action] => invia
[utente1] => Array ( 
                             [livello1] => Array ( [0] => 1 [1] => 2) 
                             [livello2] => Array ( [0] => 100 [1] => 200)
                           )
[utente2] => Array ( 
                             [livello1] => Array ( [0] => 1 [1] => 2) 
                             [livello1] => Array ( [0] => 100 [1] => 200)
                           )
)
Ho provato a modificare il codice cosi:

Codice: Seleziona tutto

$utente=$user['username'].'[]';

<input type="checkbox" name="'.$utente.'[livello1]" value="1">
<input type="checkbox" name="'.$utente.'[livello1]" value="2">
...

<input type="checkbox" name="'.$utente.'[livello2]" value="100">
<input type="checkbox" name="'.$utente.'[livello2]" value="200">
...

Codice: Seleziona tutto

Array ( 
[action] => invia
[utente1] => Array ( [0] => Array ( [livello1] => 1 ) 
                             [1] => Array ( [livello1] => 2 ) 
                             [3] => Array ( [livello2] => 100 ) 
                             [4] => Array ( [livello2] => 200 )
                   )
[utente2] => Array ( [0] => Array ( [livello1] => 1 ) 
                             [1] => Array ( [livello1] => 2 ) 
                             [3] => Array ( [livello2] => 100 ) 
                             [4] => Array ( [livello2] => 200 )
                   )
)

Al momento l'unica soluzione decente è questa:

Codice: Seleziona tutto

$utente_liv1=$user['username'].'_liv1[]';
$utente_liv2=$user['username'].'_liv2[]';

<input type="checkbox" name="'.$utente_liv1.'" value="1">
<input type="checkbox" name="'.$utente_liv1.'" value="2">
...

<input type="checkbox" name="'.$utente_liv2.'" value="100">
<input type="checkbox" name="'.$utente_liv2.'" value="200">
...

Codice: Seleziona tutto

Array ( 
[action] => invia
[utente1_liv1] => Array ( [0] => 1 [1] => 2 ) 
[utente1_liv2] => Array ( [0] => 100 [1] => 200 ) 
[utente2_liv1] => Array ( [0] => 1 [1] => 2 ) 
[utente2_liv2] => Array ( [0] => 100 [1] => 200 ) 
)
devo quindi elaborare le chiavi dell'array per individuare l'utente desiderato ma poi almeno ho al suo interno due array distinti che posso gestire con dei cicli.

Se qualcuno ha qualche idea migliore oppure la soluzione per ottenere un output come descritto sopra sarebbe fantastico.

Grazie mille!

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 27 ospiti