Naturalmente ho personalizzato in alcuni punti ma sembra che i campi siano corretti, infatti il form è questo
<form name="REPORT" method="post" action="insert_report.php" >
<input type="checkbox" name="tipo_criticita[]" value="viabilita_interrotta">
<textarea name="criticita_atto[]" cols="40" rows="2"> </textarea>
<textarea name="attivita_contrasto[]" cols="40" rows="2" > </textarea>
<textarea name="centri_isolati_criticita[]" cols="40" rows="2" ></textarea>
<textarea name="centri_isolati_contrasto[]" cols="40" rows="2" ></textarea>
<input type="checkbox" name="tipo_criticita[]" value="Edifici_pubblici">
<textarea name="criticita_atto[]" cols="40" rows="2" ></textarea>
<textarea name="attivita_contrasto[]" cols="40" rows="2" ></textarea>
<input type="checkbox" name="tipo_criticita[]" value="Edifici_prifati_evacuati">
<textarea name="criticita_atto[]" cols="40" rows="2" ></textarea>
<textarea name="attivita_contrasto[]" cols="40" rows="2" ></textarea>
<input type="checkbox" name="tipo_criticita[]" value="Edifici_prifati_danneggiati"> <textarea name="criticita_atto[]" cols="40" rows="2" ></textarea>
<textarea name="attivita_contrasto[]" cols="40" rows="2" ></textarea></td>
<input type="checkbox" name="tipo_criticita[]" value="Servizi_essenziali_interrotti">
<textarea name="criticita_atto[]" cols="40" rows="2" ></textarea>
<textarea name="attivita_contrasto[]" cols="40" rows="2" ></textarea>
<input type="checkbox" name="tipo_criticita[]" value="Opere_idrauliche_compromesse">
<textarea name="criticita_atto[]" cols="40" rows="2" ></textarea> <textarea name="attivita_contrasto[]" cols="40" rows="2" ></textarea>
<input type="checkbox" name="tipo_criticita[]" value="Criticità_attese">
<textarea name="criticita_atto[]" cols="40" rows="2"></textarea>
<textarea name="attivita_contrasto[]" cols="40" rows="2" ></textarea>
<input type="submit" value="Invia" name="invia" >
<INPUT TYPE="button" VALUE="Annulla" onClick="history.back()">
</form>
il codice di insert_report.php
Codice PHP:
<?
include("connessione.php");
// richiamo il file di configurazione
require 'config.php';
// richiamo lo script responsabile della connessione a MySQL
require 'connessione.php';
//recupero tutti i dati
$email = $_POST[email];
$utente = $_POST[provincia];
$password = $_POST[password];
$tipo = $_POST[tipo];
$data_inserimento = $_POST[data_inserimento];
$ora_inserimento = $_POST[ora_inserimento];
.....
//$tipo_criticita = $_POST[tipo_criticita];
$criticita_atto = $_POST[criticita_atto];
$attivita_contrasto = $_POST[attivita_contrasto];
$centri_isolati_criticita = $_POST[centri_isolati_criticita];
$centri_isolati_contrasto = $_POST[centri_isolati_contrasto];
$data_inserimento = date ("Y-m-d");
$ora_inserimento = date ("H:i:s");
$query = "INSERT INTO TABELLA
(data_inserimento,ora_inserimento,...) VALUES ('$data_inserimento','$ora_inserimento',...)";
// invio la query
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
// recupero l'id autoincrement generato da MySQL per il nuovorecord inserito
$id_report = mysql_insert_id();
//inserisco la seconda parte del report nella tabella criticità
// Controllo se la matrice di moduli sia stata inviata
if (isset($_POST['tipo_criticita'])) {
// Lavoro su ogni singolo elemento della matrice
foreach ($_POST['tipo_criticita'] as $id => $tipo_criticita ) {
// Creo la query
$strSQL = "INSERT INTO criticita ( id_report, tipo_criticita, criticita_atto, attivita_contrasto,centri_isolati_criticita,centri_isolati_contrasto ) VALUES ( '$id_report','$tipo_criticita','".$criticita_atto[$id]."', '".$attivita_contrasto[$id]."', '".$centri_isolati_criticita[$id]."', '".$centri_isolati_contrasto[$id]."' )";
// Scrivo la query
$strSQL = mysql_query($strSQL);
// Visualizzo la query
//echo "$strSQL
";
}
}
$mail_s='NOME@DOMINIO.it'; //destinatario FAX server
$mail_r='NOME2@DOMINIO.it';
$mail_r2='NOME3@DOMINIO.it';
$mail_r3='NOME4@DOMINIO.it';
$subject='OGGETTO';
$txtemail=(" -- REPORT -- \n
inviato
" );
$headers = 'From: REPOR <'NOME@DOMINIO.it'>' . "\r\n" ;
mail($email,$subject,$txtemail,$headers);
mail($mail_s,$subject,$txtemail,$headers);
mail($mail_r,$subject,$txtemail,$headers);
mail($mail_r2,$subject,$txtemail,$headers);
mail($mail_r3,$subject,$txtemail,$headers);
echo "<h2>
REPORT ID. NR. $id_report INSERITO IN ARCHIVIO IN
DATA $data_inserimento ALLE ORE $ora_inserimento
INVIATA CONFERMA ALL'INDIRIZZO
$email </h2>";
// chiudo la connessione a MySQL
mysql_close();
?>
In questo modo se inserisco una CRITICITA' la prima per esempio, e poi passo ad inserire la 5 nel DB viene inserito solo il valore della checkbox e non il valore delle textarea associate.