Form con campi multipli in PHP

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
27
Roma
alessandro1997.netsons.org
È una cosa abbastanza semplice, ma visto che sembra chiesto da molti, ecco come realizzare un form con campi infiniti usando solo PHP:
PHP:
<!DOCTYPE html>
<html lang="it">
    <head>
        <title>Campi multipli con PHP</title>
        <meta charset="utf-8">
    </head>

    <body>
        <h1>Campi multipli con PHP</h1>
        <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
            <?php
            if (isset($_POST['campo'])) {
                foreach ($_POST['campo'] as $value) {
                    echo sprintf('<input type="text" name="campo[]" value="%s"><br>', $value);
                }
            }
            ?>

            <input type="text" name="campo[]"> <button type="submit">Aggiungi</button>
        </form>
    </body>
</html>
 
ciao, mi sto avvicinando al php e volevo ampliare questo tuo codice:

devo formare 2 lab consecutive dove andrò ad inserire delle misure tipo

altezza larghezza

55 67
45 55
33 44

mi risulta chiaro come aggiungere piu campi,
ma come faccio a prendere i vari dati inseriti nel form( che poi inserirò in una tabella mysql)?
 
per spiegarmi meglio,

devo inserire in una tabella mysql

quantità-altezza-larghezza

di un determinato prodotto, ma non sapendo anteriormente quante lab (divise in triplette quantità-altezza-larghezza)del form dovrò avere
userei un codice tipo quello che hai scritto qui sopra per aumentare a piacere le varie caselle (sempre a triplette).

ma come faccio ad identificare le caselle(lab) univocamente per poi estrapolarne i dati ed inserirli tramite query nel mio db?
 
nessuno sa darmi qualche indicazione?

oppure un link dove viene trattato un tema simile......
io non riesco a trovare nulla
 
dunque......provando a fare qualcosa ho pensato di aggiungere un secondo submit.
il primo aggiunge un label
il secondo invia i dati al database

PHP:
<!DOCTYPE html>
<html lang="it">
    <head>
        <title>Campi multipli con PHP</title>
        <meta charset="utf-8">
		 <script type="text/javascript">
             function invia (destinazione) {
			    document.modulo.method = "post";
                document.modulo.action = destinazione + ".php";
                document.modulo.submit();
	}
			 </script>

    </head>

    <body>
        <h1>Campi multipli con PHP</h1>
	  <?PHP
		$quant="";
		if (isset ($_POST['campo'])){
		   $quant=$_POST['campo'];
		   }
		?>   
        <form name="modulo">
            <?php
            if (isset($_POST['campo'])) {
                foreach ($_POST['campo'] as $value) {
                    echo sprintf('<input type="text" name="campo[]" value="%s"><br>', $value);
                }
            }
            ?>

            <input type="text" name="campo[]">
			<button type="submit" value="invia" onclick="invia('campi_multipli')">aggiungi</button>
			<button type="submit" value="inserisci" onclick="invia('quantita')">inserisci</button>
        </form>
    </body>
</html>


adesso pero sono in difficolta su come creare tre label per volta e poi identificarli univocamente per inserirne i dati
nel nadatabase.......

se qualcuno a qualche indicazione da darmi........:)
 

Discussioni simili