- Home
- Categorie
- Coding e Sistemistica
- PHP
- Inserimento dati da due o più form
-
Inserimento dati da due o più form
Salve a tutti.
Premetto che mi sono avvicinato a php da poco tempo e alla preparazione teorica cerco di accostare anche la pratica.Come da titolo, vorrei memorizzare nel database i dati (Nome, Cognome, Email etc.) inseriti attraverso due form distinti contenuti nella stessa pagina.
La situazione è aggiunta di un nucleo familiare: 1° form "Inserimento primo componente", 2°form "Inserimento secondo componente" bottone per salvataggio o link per aggiungere altro form.
La pagina dei form è questa
[HTML] <div class="primary-content">
<form role="form" action="aggiungere.php" method="post" class="registration-form">
<fieldset>
<div class="form-top">
<div class="form-top-left">
<h3>Componenti nucleo familiare</h3>
<p>Step 2 / 4 </p>
</div>
<div class="group-icon">
<img src="/images/family.png" alt="Famiglia singolo" />
<span>Nucleo familiare</span>
</div>
</div>
<div class="form-bottom">
<div class="row">
<h3 class="form-title"><span>Registrazione primo componente</span></h3>
<button type="button" class="btn btn-previous abs">Indietro</button>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">
<label for="form-nome">Nome</label>
<input type="text" name="nome[]" class="form-control field" id="form-nome" />
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">
<label for="form-cognome">Cognome</label>
<input type="text" name="cognome[]" class="form-control field" id="form-cognome" />
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">
<label for="form-cfiscale">Codice fiscale</label>
<input type="text" name="cfiscale[]" class="form-control field" id="form-cfiscale" />
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">
<label for="form-datanascita">Data di nascita</label>
<input type="text" name="datanascita[]" placeholder="GG/MM/AAAA" class="form-control field" id="form-datanascita" />
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-3 col-md-3 col-lg-2">
<label for="form-sesso">Sesso</label>
<input type="text" name="sesso[]" placeholder="es. M/F" class="form-control field" id="form-sesso" />
</div>
<div class="col-xs-12 col-sm-5 col-md-4 col-lg-2">
<label for="form-soccupazionale">Stato occupazionale</label>
<select name="soccupazionale[]" class="form-control field" id="form-soccupazionale">
<option value="0">Inoccupato</option>
<option value="1">Occupato</option>
<option value="2">Occupato</option>
<option value="3">Altro...</option>
</select>
</div>
<div class="col-xs-12 col-sm-4 col-md-5 col-lg-3">
<label for="form-cittadinanza">Cittadinanza</label>
<input type="text" name="cittadinanza[]" class="form-control field" id="form-cittadinanza" />
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-2">
<label for="form-telefono">Telefono</label>
<input type="text" name="telefono[]" placeholder="+39" class="form-control field" id="form-telefono" />
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">
<label for="form-email">E-mail</label>
<input type="text" name="email[]" placeholder="es. [email protected]" class="form-control" id="form-email" />
</div>
<div class="col-xs-12">
<label for="form-email">Note aggiuntive</label>
<textarea class="form-control low-hight" cols="4" rows="4" name="note[]"></textarea>
</div>
</div>
<div class="row components">
<h3 class="form-title"><span>Ruolo componente</span></h3>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">
<div class="input-group">
<input type="radio" value="1" tabindex="1" id="radio-choice-1" name="ruolofam[]"/>
<label>Padre</label>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">
<div class="input-group">
<input type="radio" value="2" tabindex="2" id="radio-choice-2" name="ruolofam[]" />
<label>Madre</label>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">
<div class="input-group">
<input type="radio" value="3" tabindex="3" id="radio-choice-3" name="ruolofam[]" />
<label>Figlio/a</label>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">
<div class="input-group">
<input type="radio" value="4" tabindex="4" id="radio-choice-4" name="ruolofam[]" />
<label>Nonno/a</label>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">
<div class="input-group">
<input type="radio" value="5" tabindex="5" id="radio-choice-5" name="ruolofam[]" />
<label>Zio/a</label>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">
<div class="input-group">
<input type="radio" value="6" tabindex="6" id="radio-choice-6" name="ruolofam[]" />
<label>Cugino/a</label>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">
<div class="input-group">
<input type="radio" value="7" tabindex="7" id="radio-choice-7" name="ruolofam[]" />
<label>Altro</label>
</div>
</div>
</div>
<!-- AGGIUNTA COMPONENTI NUCLEO FAMILIARE -->
<div class="add-component" id="component01">
<div class="form-bottom component">
<div class="row">
<h3 class="form-title"><span>Aggiungi componente</span></h3>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">
<label for="form-nome">Nome</label>
<input type="text" name="nome[]" class="form-control field" id="form-nome" />
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">
<label for="form-cognome">Cognome</label>
<input type="text" name="cognome[]" class="form-control field" id="form-cognome" />
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">
<label for="form-cfiscale">Codice fiscale</label>
<input type="text" name="cfiscale[]" class="form-control field" id="form-cfiscale" />
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">
<label for="form-datanascita">Data di nascita</label>
<input type="text" name="datanascita[]" placeholder="GG/MM/AAAA" class="form-control field" id="form-datanascita" />
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-3 col-md-3 col-lg-2">
<label for="form-sesso">Sesso</label>
<input type="text" name="sesso[]" placeholder="es. M/F" class="form-control field" id="form-sesso" />
</div>
<div class="col-xs-12 col-sm-5 col-md-4 col-lg-2">
<label for="form-soccupazionale">Stato occupazionale</label>
<select name="soccupazionale[]" class="form-control field" id="form-soccupazionale" id="form-soccupazionale">
<option value="0">Inoccupato</option>
<option value="1">Occupato</option>
<option value="2">Occupato</option>
<option value="3">Altro...</option>
</select>
</div>
<div class="col-xs-12 col-sm-4 col-md-5 col-lg-3">
<label for="form-cfiscale">Cittadinanza</label>
<input type="text" name="cittadinanza[]" class="form-control field" id="form-cittadinanza" />
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-2">
<label for="form-telefono">Telefono</label>
<input type="text" name="telefono[]" placeholder="+39" class="form-control field" id="form-telefono" />
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">
<label for="form-email">E-mail</label>
<input type="text" name="email[]" placeholder="es. [email protected]" class="form-control" id="form-email" />
</div>
<div class="col-xs-12">
<label for="form-email">Note aggiuntive</label>
<textarea class="form-control low-hight" cols="4" rows="4" name="note[]"></textarea>
</div>
</div>
<div class="row components">
<h3 class="form-title"><span>Ruolo componente</span></h3>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">
<div class="input-group">
<input type="radio" value="choice" tabindex="1" id="radio-choice-1" name="ruolofam[]" />
<label>Padre</label>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">
<div class="input-group">
<input type="radio" value="choice" tabindex="2" id="radio-choice-2" name="ruolofam[]" />
<label>Madre</label>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">
<div class="input-group">
<input type="radio" value="choice" tabindex="3" id="radio-choice-3" name="ruolofam[]" />
<label>Figlio/a</label>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">
<div class="input-group">
<input type="radio" value="choice" tabindex="4" id="radio-choice-4" name="ruolofam[]" />
<label>Nonno/a</label>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">
<div class="input-group">
<input type="radio" value="choice" tabindex="5" id="radio-choice-5" name="ruolofam[]" />
<label>Zio/a</label>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">
<div class="input-group">
<input type="radio" value="choice" tabindex="6" id="radio-choice-6" name="ruolofam[]" />
<label>Cugino/a</label>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">
<div class="input-group">
<input type="radio" value="choice" tabindex="7" id="radio-choice-7" name="ruolofam[]" />
<label>Altro</label>
</div>
</div>
</div>
</div>
</div>
<!--<div class="add-component" id="component02">
<div class="form-bottom component">
<div class="row">
<h3 class="form-title"><span>Aggiungi componente</span></h3>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">
<label for="form-nome">Nome</label>
<input type="text" name="form-nome" class="form-control field" id="form-nome" />
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">
<label for="form-cognome">Cognome</label>
<input type="text" name="form-cognome" class="form-control field" id="form-cognome" />
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">
<label for="form-cfiscale">Codice fiscale</label>
<input type="text" name="form-cfiscale" class="form-control field" id="form-cfiscale" />
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">
<label for="form-datanascita">Data di nascita</label>
<input type="text" name="form-datanascita" placeholder="GG/MM/AAAA" class="form-control field" id="form-datanascita" />
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-3 col-md-3 col-lg-2">
<label for="form-sesso">Sesso</label>
<input type="text" name="form-sesso" placeholder="es. M/F" class="form-control field" id="form-sesso" />
</div>
<div class="col-xs-12 col-sm-5 col-md-4 col-lg-2">
<label for="form-soccupazionale">Stato occupazionale</label>
<select name="form-soccupazionale" class="form-control field" id="form-soccupazionale" id="form-soccupazionale">
<option value="0">Inoccupato</option>
<option value="1">Occupato</option>
<option value="2">Occupato</option>
<option value="3">Altro...</option>
</select>
</div>
<div class="col-xs-12 col-sm-4 col-md-5 col-lg-3">
<label for="form-cfiscale">Cittadinanza</label>
<input type="text" name="form-cittadinanza" class="form-control field" id="form-cittadinanza" />
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-2">
<label for="form-telefono">Telefono</label>
<input type="text" name="form-telefono" placeholder="+39" class="form-control field" id="form-telefono" />
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-3">
<label for="form-email">E-mail</label>
<input type="text" name="form-email" placeholder="es. [email protected]" class="form-control" id="form-email" />
</div>
<div class="col-xs-12">
<label for="form-email">Note aggiuntive</label>
<textarea class="form-control low-hight" cols="4" rows="4"></textarea>
</div>
</div>
<div class="row components">
<h3 class="form-title"><span>Ruolo componente</span></h3>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-2">
<div class="input-group">
<input type="radio" value="choice" tabindex="1" id="radio-choice-1" name="radio-choice">
<label>Padre</label>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-2">
<div class="input-group">
<input type="radio" value="choice" tabindex="2" id="radio-choice-2" name="radio-choice">
<label>Madre</label>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-2">
<div class="input-group">
<input type="radio" value="choice" tabindex="3" id="radio-choice-3" name="radio-choice">
<label>Figlio</label>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-2">
<div class="input-group">
<input type="radio" value="choice" tabindex="4" id="radio-choice-4" name="radio-choice">
<label>Figlia</label>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-2">
<div class="input-group">
<input type="radio" value="choice" tabindex="5" id="radio-choice-5" name="radio-choice">
<label>Nonno/Nonna</label>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-2">
<div class="input-group">
<input type="radio" value="choice" tabindex="6" id="radio-choice-6" name="radio-choice">
<label>Zio/Zia</label>
</div>
</div>
</div>
</div> -->
<div class="btn-components">
<div class="left-wrap">
<a href="#">Aggiungi altro componente</a>
</div>
<div class="right-wrap">
<button type="submit" class="btn btn-next btn-single">Salva e procedi</button>
</div>
<br class="clearer" />
</div>
</fieldset>
</form>
</div>[/HTML]Il mio database contiene una tabella "famiglia" con i campi
IDSoggetto,IDFamiglia,Nome,Cognome,DataNascita,CodiceFiscale,Cittadinanza,IDStatoOccupazionale,Telefono,Email,IDRuoloFamiglia,Sesso,Note
Con form singolo riesco a memorizzare i dati inseriti nei campi, ma aggiungendo il secondo form ho come risultato la memorizzazione dei dati inseriti in uno solo dei form!
Come fare a memorizzare i dati di entrambi i form?
Cercando sul web ho capito che deve essere utilizzato un foreach, Ma come utilizzarlo?Grazie a tutti coloro che vorranno aiutarmi.
-
Ciao jumpy83,
Fai prima a gestire il salvataggio tramite AJAX facendo una chiamata che invia ad uno script esterno tutti i dati direttamente.
In questo caso, dato che raccogli i dati tramite jQuery non hai il problema dei form se sono separati o su sezioni diverse.Se hai delle basi di jQuery ti spiego come funziona, è molto più semplice di quanto sembra.
-
@MiWebDesign said:
Ciao jumpy83,
Fai prima a gestire il salvataggio tramite AJAX facendo una chiamata che invia ad uno script esterno tutti i dati direttamente.
In questo caso, dato che raccogli i dati tramite jQuery non hai il problema dei form se sono separati o su sezioni diverse.Se hai delle basi di jQuery ti spiego come funziona, è molto più semplice di quanto sembra.
Grazie per la risposta.
Uhm... non avevo pensato a questa soluzioneCome dovrei procedere?