Salvataggio in DB di array di date.
Buongiorno a tutti.
Ho un form di registrazione con campi input e due bottoni (uno per aggiungere campi al form e l'altro per salvare i dati nel db.
Ho un problema nel salvataggio in quanto mi salva tutti i dati ad eccezione della data di nascita e dello stato occupazionale (le altre select le salva tranquillamente).
Di seguito il codice
Codice HTML:
<form method="post" id="ciao" action="gestione.php">
<div id="readroot" style="display: none">
<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-luogonascita">Luogo di nascita</label>
<input type="text" name="LuogoNascita[]" class="form-control field" id="form-luogonascita" />
</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 class="row">
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-1">
<label for="form-sesso">Sesso</label>
<select name="Sesso[]" class="form-control field" id="form-sesso">
<option value="" selected="selected" disabled="disabled">...</option>
<option value="M">M</option>
<option value="F">F</option>
</select>
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-4">
<label for="form-cfiscale">Codice fiscale</label>
<input type="text" name="CodiceFiscale[]" 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-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-4">
<label for="form-ruolo">Ruolo Componente</label>
<select name="IDRuoloFamiglia[]" class="form-control field" id="form-ruolo">
<option value="" selected="selected" >Seleziona ruolo componente...</option>
<option value="1">Padre</option>
<option value="2">Madre</option>
<option value="3">Figlio/a</option>
<option value="4">Nonno/a</option>
<option value="5">Zio/a</option>
<option value="6">Fratello</option>
<option value="7">Sorella</option>
<option value="8">Tutore/Curatore</option>
</select>
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-4">
<label for="form-soccupazionale">Stato occupazionale</label>
<select name="IDStatoOccupazionale[]" class="form-control field" id="form-soccupazionale">
<option value="" selected="selected" disabled="disabled">Seleziona stato occupazionale...</option>
<option value="1">Occupato/a</option>
<option value="2">Disoccupato/a</option>
<option value="3">Inoccupato/a</option>
<option value="4">Pensionato/a</option>
<option value="5">Studente/essa</option>
<option value="6">Invalido/a</option>
</select>
</div>
<div class="col-xs-12 col-sm-3 col-md-3 col-lg-4">
<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-5 col-md-4 col-lg-4">
<label for="form-email">E-mail</label>
<input type="text" name="Email[]" placeholder="es. paolo.rossi@gmail.com" class="form-control" id="form-email" />
</div>
</div>
<div class="row"><h3 class="form-title"><span>Informazioni HF</span></h3>
<div class="col-xs-12 col-sm-3 col-md-3 col-lg-3">
<label for="form-regione">Regione</label>
<input type="text" name="Regione[]" class="form-control field" id="form-regione" />
</div>
<div class="col-xs-12 col-sm-5 col-md-4 col-lg-4">
<label for="form-comune">Comune</label>
<input type="text" name="Comune[]" placeholder="Priolo (Siracusa)" class="form-control field" id="form-comune" />
</div>
<div class="col-xs-12 col-sm-5 col-md-4 col-lg-1">
<label for="form-cap">Cap</label>
<input type="text" name="Cap[]" class="form-control field" id="form-cap" />
</div>
<div class="col-xs-12 col-sm-5 col-md-4 col-lg-4">
<label for="form-abitazione">Indirizzo Abitazione </label>
<input type="text" name="Indirizzo[]" placeholder="es. Via delle vie, 3" class="form-control field" id="form-abitazione" />
</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>
<div class="row components"></div>
<span id="writeroot"></span>
<input type="button" id="btnMore" onclick="moreFields();" value="Give me more fields!" />
<input type="submit" value="Send form" />
</form>
la funzione moreFields è
Codice HTML:
<script type="text/javascript">
var counter = 0;
function moreFields()
{
counter++;
var newFields = document.getElementById('readroot').cloneNode(true);
newFields.id = '';
newFields.style.display = 'block';
var newField = newFields.childNodes;
for (var i=0;i<newField.length;i++)
{
var theName = newField[i].name;
if (theName)
newField[i].name = theName + counter;
}
var insertHere = document.getElementById('writeroot');
insertHere.parentNode.insertBefore(newFields,insertHere);
}
window.onload = moreFields;
</script>
Quindi faccio una chiamata Ajax (credo e spero sia giusta) per inviare tutti i dati alla scrittura nel db
Codice HTML:
$(document).ready(function() {
$("#ciao").submit(function(){
var querystring = $('#ciao').serialize();
$.ajax({
url: '/result.php',
type: "POST",
data: querystring,
success: function(data) {
$("div#result2").html(data);
}
});
return false;
});
});