Mi sto avvicinando a PHP e mi sono trovato nella condizione di dovere creare un numero variabile, scelto dall'utente, di Input Text in una Form.
Vorrei sapere se è possibile farlo in PHP e come.
Grazie
Mi sto avvicinando a PHP e mi sono trovato nella condizione di dovere creare un numero variabile, scelto dall'utente, di Input Text in una Form.
Vorrei sapere se è possibile farlo in PHP e come.
Grazie
E' possibile. L'importante è avere idee ben chiare sulla distinzione tra codice eseguito lato server e codice eseguito lato client. Ma non possiamo partire da zero, quindi prova a buttare giù qualche tentativo e poi su quello possiamo ragionare.
Grazie per la risposta. Conosco la differenza fra codice eseguito lato server e lato client. Ho già realizzato qualche piccolo programma per uso personale con PHP e MySQL.
Il mio problema non è creare un numero di controlli su scelta dell'utente, piuttosto assegnare loro un nome che sia recuperabile e gestibile attraverso il metodo POST.
Questo è quello che ho scritto fino ad ora.
<?php $n_lunghezze_da_tagliare=$_POST["n_lunghezze_da_tagliare"]; $misura=[]; $quantita=[]; ?> <form action='Step_3.php' method='POST'> <table> <tr><td></td><td style="text-align:center;">Misura</td><td style="text-align:center;">Quantita</td></tr> <?php for ($x = 0; $x<=$n_lunghezze_da_tagliare+1; $x++) { $misura[$x]="misura_".$x; $quantita[$x]="quantita_".$x; ?> <tr> <td><?php echo $x+1; ?></td> <td><input type='text' name='<?php echo $misura[$x]; ?>'></td> <td><input type='text' name='<?php echo $quantita[$x]; ?>'></td> </tr> <?php } ?> <tr> <td colspan=3 style="text-align:center;"><input type='submit' name='submit' value='Inserisci'/></td> </tr> </table> </form>
Il codice che hai postato è parte di Step_3.php o è un altro file?
Altro file al quale passare i dati da elaborare e produrre una tabella con il risultato finale.
Scusa ma la tua risposta è un po' ambigua.
Quando l'utente clicca sul pulsante "Inserisci" viene caricato il file Step_3.php ed è questa la pagina che potrà recuperare i valori delle Input Texti esaminando l' array $_POST[]. Questa array contiene tanti elementi quanti sono quelli presenti nel form: $_POST["misura_0"], $_POST["quantita_0"], $_POST["misura_1"], $_POST["quantita_1"] ecc.
Scusa ti ho risposto con fretta e mi sono espresso male.
Il programma che sto cercando di realizzare è composto da 3 file. Il primo è una normale pagina HTML con un form all'interno del quale, fra le variabili, l'utente deve inserire il valore di $n_lunghezze_da_tagliare, che sarà utilizzato nel secondo file (il piccolo programma misto di html e php che ho postato in precedenza). Qui, come puoi vedere è stato recuperato il valore di $n_lunghezze_da_tagliare e usato per creare il numero corretto di Input Text.
Il terzo programma è, come hai capito, Step_3.php che ha il compito di recuperare i valori inseriti nelle caselle di testo.
Questo è il mio problema: non so come recuperare i valori inseriti nelle Input Text visto che hanno un nome assegnato ad una variabile.
Spero di essere stato più chiaro.
Supponendo che $x valga 3, nella riga<td><input type='text' name='<?php echo $misura[$x]; ?>'></td>alla variabile PHP $misura[$x] viene sostituito il valore "misura_3", quindi nella pagina Step_3.php recupererai il valore della input text da $_POST["misura_3"]. Lo stesso ovviamente per gli altri valori dell'indice, come ti ho detto nel precedente post.
Scusa ma non capisco.
Il numero delle Input Text è variabile, lo sceglie l'utente nel momento in cui avvia l'applicazione, esso può essere qualunque valore, 3, 17,... 129 quindi in in Step_3.php non posso usare la variabile Misura_3 perché a priori non so se le lunghezze inserite sono 4 o altro. O mi sfugge qualcosa?
Avevo pensato di passare la variabile che contiene il numero delle lunghezze in qualche modo oppure, non so se sia possibile, usare Foreach per ciclare sui controlli pur non conoscendone il numero.
$_POST[] è un array. Puoi sapere quanti elementi contiene in diversi modi, per esempio count($_POST). Rileggi il post n.6