Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 20 su 20

Discussione: Form

  1. #11
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    68
    scusa mi è arrivato ora il mess...apse che provo...
    il futuro è un impegno!forza ragazzi conquistiamo il mondo col buon senso!!!

  2. #12
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    68
    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!!!

  3. #13
    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

  4. #14
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    68
    ok ora provo e poi ti faccio sapere
    il futuro è un impegno!forza ragazzi conquistiamo il mondo col buon senso!!!

  5. #15
    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

  6. #16
    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

  7. #17
    $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.

  8. #18
    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

    codice:
    <?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";
    	
    	}
    
    ?>
    ora ho davvero finito

    r@p

  9. #19
    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

  10. #20
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    68
    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!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.