HTML-PHP Form grandezza varibile

Steftcom

Nuovo Utente
7 Mag 2010
19
0
0
38
Lugano, Svizzera
Salve, premetto che sono un neofita, faccio qualcosa in PHP e HTML per praticità ma non per lavoro pertanto scusate fin d'ora il linguaggio un po' "volgare"
il mio problema è il seguente o meglio quello che vorrei fare:
Ho una pagina con delle entry con delle informazioni che provengono da un database, per ogni entry c'è un checkbox, una volta che faccio invio vorrei che le entry selezionate vengano riportate su un altra pagina. Il problema principale che non riesco a risolvere è questo: le entri che posso selezionare possono essere 1 come 100 come mille, dunque variabili di quantità. Come posso fare ? Nella pagina PHP della lettura del POST devo leggere tutte le variabili che mi arrivano oppure c'è la possibilità di metterle in un array ?
Spero di essermi spiegato bene.

Grazie

Stefano
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
$_POST puo essere gia di perse considerato un array, comunque puoi (cercare) di fare così
(ipotizzo che il pulsante di submit si chiami "invia")

if(isset($_POST['invia'])){
unset($_POST['invia'];//togli l'invio che da fastidio
$arrai =$_POST; //metti il tutto in una variabile che diventa un array
//questo per provare
foreach($arrai as $nome_campo => $valore_campo){
echo "il campo di nome $nome_campo a trasmesso il valore $valore_campo <br>";
}
}

attento se i check li hai chiamati 'nome_campo[]' l'array $arrai è un array di array
 

Steftcom

Nuovo Utente
7 Mag 2010
19
0
0
38
Lugano, Svizzera
Grazie per la risposta, dunque posso fare come segue ?
Nella pagina dell'inserimento
<form.... >
<input type="checkbox" name="valore[1]" value="1">
....
<input type="checkbox" name="valore[100]" value="1">

e poi nella pagina PHP metto il codice che è stato postato prima e mi torvo l'array con i miei valori, vero ?
 

Steftcom

Nuovo Utente
7 Mag 2010
19
0
0
38
Lugano, Svizzera
allora ho fatto con il seguente codice e funziona:
<form method="POST" action="">
Fat1: <input type="checkbox" name="fat[1]" value="1"><br>
Fat2: <input type="checkbox" name="fat[2]" value="1"><br>
Fat3: <input type="checkbox" name="fat[3]" value="1"><br>
Fat4: <input type="checkbox" name="fat[4]" value="1"><br>
Fat5: <input type="checkbox" name="fat[5]" value="1"><br>
<input type="submit" value="inserisci" name="invia">

</form>
<?php
if($_POST)

if(isset($_POST['invia']))
{
unset($_POST['invia']);//togli l'invio che da fastidio
$array =$_POST['fat']; //metti il tutto in una variabile che diventa un array
//questo per provare
//echo "$array[fat]";

foreach($array as $fat => $valore_campo)
{
echo "il campo di nome $fat a trasmesso il valore $valore_campo <br>";
}
}

?>


Ogni volta che si preme invio viene visualizzato quali campi sono stati selezionati

Grazie per l'aiuto
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
ok
credo anche se crei le chek dinamicamente (es da un db) poi scrivere es

while($riga=mysql_fetch_array($query)){
echo "<input type="checkbox\" name=\"fat[]\" value=\"1\"><br>";
}
senxa mettere l'indice
prova al massimo non funzia
 

frankken2

Nuovo Utente
20 Mag 2010
1
0
0
Html

it is the scripting language , and also we can play with the games and the same concept is working here
 
Autore Discussioni simili Forum Risposte Data
C PHP 21
webmachine PHP 1
F PHP 2
G PHP 0
F PHP 0