scusa mi è arrivato ora il mess...apse che provo...
scusa mi è arrivato ora il mess...apse che provo...
il futuro è un impegno!forza ragazzi conquistiamo il mondo col buon senso!!!
ottimoooo, funziona benissimo, ora se hai un momento di pazienza ti spiego qual' è il nocciolo della situazione:
io ho questo file (provaform.php) :
<form name="caporedattore" method="POST" action="prova.php">
<?php
$stringa = "<fieldset>
<legend>Articolo </legend>
<table border=\"0\" width=\"100%\">
<tr>
<td>
<legend>Allineamento titolo </legend></td>
<td align=\"right\">
Destra<input type=\"radio\" name=\"Titolo\" value=\"Destra\">
Centro <input type=\"radio\" name=\"Titolo\" value=\"Centro\">
Sinistra <input type=\"radio\" name=\"Titolo\" value=\"Sinistra\">
</td>
</tr>
<tr>
<td>
<legend>Colore testo </legend></td>
<td align=\"right\">
Rosso<input type=\"radio\" name=\"Testo\" value=\"Rosso\">
Nero <input type=\"radio\" name=\"Testo\" value=\"Nero\">
Giallo <input type=\"radio\" name=\"Testo\" value=\"Giallo\">
</td>
</tr>
<tr>
<td>
<legend>Sfondo </legend></td>
<td align=\"right\">
Bianco<input type=\"radio\" name=\"Sfondo\" value=\"Bianco\">
Giallo <input type=\"radio\" name=\"Sfondo\" value=\"Giallo\">
Nero <input type=\"radio\" name=\"Sfondo\" value=\"Nero\">
</td>
</tr>
<tr>
<td>
<legend>Visualizzare articolo per</legend></td>
<td align=\"right\">
Testata <input type=\"radio\" name=\"visualizzare\" value=\"Testata\">
Tipologia <input type=\"radio\" name=\"visualizzare\" value=\"Tipologia\">
</td>
</tr>
</table>
</fieldset>
";
$numerovolte=10;
for($i=0;$i<$numerovolte;$i++){
echo $stringa;
}
?>
<div align="right">
<button type= "reset">Anteprima</button>
<button type="submit">Invia</button>
</div>
</form>
quindi mi stamperà dieci volte il contenuto, vorrei che quando clikko su submit vada su un'altra pagina "prova.php" e mi stampi il contenuto di tutti i campi che ho scelto nella pagina provaform.php, nn solo ['Titolo'] ma anche testo, sfondo e visualizzare(allo stesso modo che mi hai detto tu e invece di right etc i valori appropriati) per tutti i fieldset, si può fare? o devo mettere ogni volta una submit per ogni fildset? ciao e grazie ancora...
il futuro è un impegno!forza ragazzi conquistiamo il mondo col buon senso!!!
uhm.... si fa un po' più complessa la situazione... certo che si può fare ma devi cambiare un po' di cose.
Provo a spiegarti:
Intanto per stamparti le 4 variabili che ti servono basta che sostituisci alle stringhe nelle ECHO le variabili:
echo $_POST['Titolo'] . "
\n";
echo $_POST['Testo'] . "
\n";
echo $_POST['Sfondo'] . "
\n";
echo $_POST['visualizzare'] . "
\n";
PERO'
-----
1.
non puoi inviare 10 valori diversi tutti nella variabile $_POST['Titolo'] per cui dovresti usare un array come ad esempio name=\"Titolo[1]\", name=\"Titolo[2]\", ..., name=\"Titolo[n]\"
(meglio sarebbe quindi rendere dinamica questa parte, mettendo la FORM in un ciclo FOR e usando la variabile che si incrementa nel ciclo come indice dell'ARRAY (es: name=\"Titolo[{$i}]\"))
2. per stamparti poi i valori dovrai ciclare l'array estraendone i valori con:
foreach($_POST['Titolo'] as $value) {
echo $value;
}
questo a grandi linee il metodo che userei io... ma forse ne esistono altri?!?!
qualcun'altro può dire la sua...
ciao
r@p
ok ora provo e poi ti faccio sapere
il futuro è un impegno!forza ragazzi conquistiamo il mondo col buon senso!!!
RISOLTO:
provaform.php
codice:<form name="caporedattore" method="POST" action="prova.php"> <?php $numerovolte=10; $stringa = ''; for($i=0;$i<$numerovolte;$i++){ $stringa .= " <fieldset> <legend>Articolo </legend> <table border=\"0\" width=\"100%\"> <tr> <td> <legend>Allineamento titolo </legend></td> <td align=\"right\"> Destra<input type=\"radio\" name=\"Titolo[{$i}]\" value=\"Destra\"> Centro <input type=\"radio\" name=\"Titolo[{$i}]\" value=\"Centro\"> Sinistra <input type=\"radio\" name=\"Titolo[{$i}]\" value=\"Sinistra\"> </td> </tr> <tr> <td> <legend>Colore testo </legend></td> <td align=\"right\"> Rosso<input type=\"radio\" name=\"Testo[{$i}]\" value=\"Rosso\"> Nero <input type=\"radio\" name=\"Testo[{$i}]\" value=\"Nero\"> Giallo <input type=\"radio\" name=\"Testo[{$i}]\" value=\"Giallo\"> </td> </tr> <tr> <td> <legend>Sfondo </legend></td> <td align=\"right\"> Bianco<input type=\"radio\" name=\"Sfondo[{$i}]\" value=\"Bianco\"> Giallo <input type=\"radio\" name=\"Sfondo[{$i}]\" value=\"Giallo\"> Nero <input type=\"radio\" name=\"Sfondo[{$i}]\" value=\"Nero\"> </td> </tr> <tr> <td> <legend>Visualizzare articolo per</legend></td> <td align=\"right\"> Testata <input type=\"radio\" name=\"visualizzare[{$i}]\" value=\"Testata\"> Tipologia <input type=\"radio\" name=\"visualizzare[{$i}]\" value=\"Tipologia\"> </td> </tr> </table> </fieldset> "; } echo $stringa; ?> <div align="right"> <button type= "reset">Anteprima</button> <button type="submit">Invia</button> </div> </form>
prova.php (ho messo un ciclo for ipotizzando che le ripetizioni sono sempre 10 ma ci sono altri modi... il foreach commentato ne è un esempio)
codice:<?php // foreach ($_POST['Titolo'] as $value) // echo "Titolo: " . $value . " \n"; for ($i=1;$i<10;$i++) { $_POST['Titolo'][$i] = isSet($_POST['Titolo'][$i]) ? $_POST['Titolo'][$i] : 'vuoto'; $_POST['Testo'][$i] = isSet($_POST['Testo'][$i]) ? $_POST['Testo'][$i] : 'vuoto'; $_POST['Sfondo'][$i] = isSet($_POST['Sfondo'][$i]) ? $_POST['Sfondo'][$i] : 'vuoto'; $_POST['visualizzare'][$i] = isSet($_POST['visualizzare'][$i]) ? $_POST['visualizzare'][$i] : 'vuoto'; echo "Titolo{$i}: " . $_POST['Titolo'][$i] . " \n"; echo "Testo{$i}: " . $_POST['Testo'][$i] . " \n"; echo "Sfondo{$i}: " . $_POST['Sfondo'][$i] . " \n"; echo "Visualizzare{$i}: " . $_POST['visualizzare'][$i] . " \n"; } ?>
ciauz,
r@p
ad esempio puoi passare da provaform.php a prova.php la variabile $numerovolte come HIDDEN o con GET, vedi tu, e dentro prova.php cambiare il ciclo così:
for ($i=0;$i<$_POST['numerovolte'];$i++) ...
inoltre se ti servono i numeri fai attenzione... ti conviene fare il ciclo che parte da uno e prima fare:
$numerovolte = 0;
$numerovolte = $numerovolte+1;
così non partirai Titolo0 per arrivare a Titolo9, ma partirai da Titolo1 e arriverai a Titolo10 (così anche per le altre variabili).
r@p
$numerovolte = 10; non a 0 era un errore (come anche nel codice che ti ho postato sopra per intero... in prova.php il ciclo for non parte da 1 a < di 10 ma da 0.
insomma, per farla breve:
provaform.php
codice:<form name="caporedattore" method="POST" action="prova.php"> <?php $numerovolte=10; $numerovolte=$numerovolte+1; $stringa = ''; for($i=1;$i<$numerovolte;$i++){ $stringa .= " <fieldset> <legend>Articolo </legend> <table border=\"0\" width=\"100%\"> <tr> <td> <legend>Allineamento titolo </legend></td> <td align=\"right\"> Destra<input type=\"radio\" name=\"Titolo[{$i}]\" value=\"Destra\"> Centro <input type=\"radio\" name=\"Titolo[{$i}]\" value=\"Centro\"> Sinistra <input type=\"radio\" name=\"Titolo[{$i}]\" value=\"Sinistra\"> </td> </tr> <tr> <td> <legend>Colore testo </legend></td> <td align=\"right\"> Rosso<input type=\"radio\" name=\"Testo[{$i}]\" value=\"Rosso\"> Nero <input type=\"radio\" name=\"Testo[{$i}]\" value=\"Nero\"> Giallo <input type=\"radio\" name=\"Testo[{$i}]\" value=\"Giallo\"> </td> </tr> <tr> <td> <legend>Sfondo </legend></td> <td align=\"right\"> Bianco<input type=\"radio\" name=\"Sfondo[{$i}]\" value=\"Bianco\"> Giallo <input type=\"radio\" name=\"Sfondo[{$i}]\" value=\"Giallo\"> Nero <input type=\"radio\" name=\"Sfondo[{$i}]\" value=\"Nero\"> </td> </tr> <tr> <td> <legend>Visualizzare articolo per</legend></td> <td align=\"right\"> Testata <input type=\"radio\" name=\"visualizzare[{$i}]\" value=\"Testata\"> Tipologia <input type=\"radio\" name=\"visualizzare[{$i}]\" value=\"Tipologia\"> </td> </tr> </table> </fieldset> "; } $stringa .= "<input type=\"hidden\" name=\"numerovolte\" value=\"{$numerovolte}\">"; echo $stringa; ?> <div align="right"> <button type= "reset">Anteprima</button> <button type="submit">Invia</button> </div> </form>
prova.php
ora ho davvero finitocodice:<?php for ($i=1;$i<$_POST['numerovolte'];$i++) { $_POST['Titolo'][$i] = isSet($_POST['Titolo'][$i]) ? $_POST['Titolo'][$i] : 'vuoto'; $_POST['Testo'][$i] = isSet($_POST['Testo'][$i]) ? $_POST['Testo'][$i] : 'vuoto'; $_POST['Sfondo'][$i] = isSet($_POST['Sfondo'][$i]) ? $_POST['Sfondo'][$i] : 'vuoto'; $_POST['visualizzare'][$i] = isSet($_POST['visualizzare'][$i]) ? $_POST['visualizzare'][$i] : 'vuoto'; echo "Titolo{$i}: " . $_POST['Titolo'][$i] . " \n"; echo "Testo{$i}: " . $_POST['Testo'][$i] . " \n"; echo "Sfondo{$i}: " . $_POST['Sfondo'][$i] . " \n"; echo "Visualizzare{$i}: " . $_POST['visualizzare'][$i] . " \n"; } ?>
r@p
anzi non avevo finito
c'è un metodo alternativo in generale migliore
N.B.
mancano i controlli che nell'altro esempio ho messo:
che se non vengono settati i campi ti genera errore perchè l'array non esiste oppure se ne vengono settati solo alcuni ti da UNDEFINED INDEX per cui o ti fai i controlli, o setti tutti i valori o usi il primo metodo
provaform.php
codice:<form name="caporedattore" method="POST" action="prova.php"> <?php $numerovolte=10; $stringa = ''; for($i=0;$i<$numerovolte;$i++){ $stringa .= " <fieldset> <legend>Articolo </legend> <table border=\"0\" width=\"100%\"> <tr> <td> <legend>Allineamento titolo </legend></td> <td align=\"right\"> Destra<input type=\"radio\" name=\"value[{$i}][titolo]\" value=\"Destra\"> Centro <input type=\"radio\" name=\"value[{$i}][titolo]\" value=\"Centro\"> Sinistra <input type=\"radio\" name=\"value[{$i}][titolo]\" value=\"Sinistra\"> </td> </tr> <tr> <td> <legend>Colore testo </legend></td> <td align=\"right\"> Rosso<input type=\"radio\" name=\"value[{$i}][testo]\" value=\"Rosso\"> Nero <input type=\"radio\" name=\"value[{$i}][testo]\" value=\"Nero\"> Giallo <input type=\"radio\" name=\"value[{$i}][testo]\" value=\"Giallo\"> </td> </tr> <tr> <td> <legend>Sfondo </legend></td> <td align=\"right\"> Bianco<input type=\"radio\" name=\"value[{$i}][sfondo]\" value=\"Bianco\"> Giallo <input type=\"radio\" name=\"value[{$i}][sfondo]\" value=\"Giallo\"> Nero <input type=\"radio\" name=\"value[{$i}][sfondo]\" value=\"Nero\"> </td> </tr> <tr> <td> <legend>Visualizzare articolo per</legend></td> <td align=\"right\"> Testata <input type=\"radio\" name=\"value[{$i}][visualizzare]\" value=\"Testata\"> Tipologia <input type=\"radio\" name=\"value[{$i}][visualizzare]\" value=\"Tipologia\"> </td> </tr> </table> </fieldset> "; } echo $stringa; ?> <div align="right"> <button type= "reset">Anteprima</button> <button type="submit">Invia</button> </div> </form>
prova.php
codice:<?php foreach($_POST['value'] as $value) { echo $value['titolo'] . " \n"; echo $value['testo'] . " \n"; echo $value['sfondo'] . " \n"; echo $value['visualizzare'] . " \n"; } ?>
ora ho finito,
r@p
e che ti devo dire, nn ci son parole, hai fatto tutto tu e funziona benissimo....
sono rimasto troppo male...sei troppo in gamba...
ora se ho qualche altro problemuccio ti posso far sapere?
ciao grazie all'ennesima potenza...
il futuro è un impegno!forza ragazzi conquistiamo il mondo col buon senso!!!