HTML-PHP Form grandezza varibile

  • Creatore Discussione Creatore Discussione Steftcom
  • Data di inizio Data di inizio

Steftcom

Nuovo Utente
7 Mag 2010
19
0
0
42
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
 
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
 
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 ?
 
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
 
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
 
Html

it is the scripting language , and also we can play with the games and the same concept is working here
 

Discussioni simili